130 lines
3 KiB
YAML
130 lines
3 KiB
YAML
---
|
|
- name: Remove old config files
|
|
ansible.builtin.file:
|
|
path: /etc/icinga2/conf.d/apt.conf
|
|
state: absent
|
|
notify: Reload icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy scripts
|
|
ansible.builtin.copy:
|
|
content: "{{ item.value }}"
|
|
dest: "/etc/icinga2/scripts/{{ item.key }}"
|
|
owner: root
|
|
group: nagios
|
|
mode: "0750"
|
|
loop: "{{ icinga2_scripts | dict2items }}"
|
|
loop_control:
|
|
label: "{{ item.key }}"
|
|
tags: icinga2
|
|
|
|
- name: Copy config files
|
|
ansible.builtin.template:
|
|
src: "{{ item }}.conf.j2"
|
|
dest: "/etc/icinga2/conf.d/{{ item }}.conf"
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
loop:
|
|
- check_commands
|
|
- commands
|
|
- dependencies
|
|
- groups
|
|
- hosts
|
|
- notifications
|
|
- services
|
|
- templates
|
|
- timeperiods
|
|
- users
|
|
notify: Reload icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy zones config files
|
|
ansible.builtin.template:
|
|
src: zones.conf.j2
|
|
dest: /etc/icinga2/zones.conf
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
notify: Reload icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy ido config file
|
|
ansible.builtin.template:
|
|
src: ido-db.conf.j2
|
|
dest: /etc/icinga2/conf.d/ido-db.conf
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
notify: Restart icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy api SSL key
|
|
ansible.builtin.copy:
|
|
content: "{{ icinga2_api_ssl_node_key }}"
|
|
dest: "/var/lib/icinga2/certs/{{ inventory_hostname }}.key"
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
when: "'api' in icinga2_features"
|
|
notify: Restart icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy api SSL certificate
|
|
ansible.builtin.copy:
|
|
content: "{{ icinga2_api_ssl_node_crt }}"
|
|
dest: "/var/lib/icinga2/certs/{{ inventory_hostname }}.crt"
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
when: "'api' in icinga2_features"
|
|
notify: Restart icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy api SSL ca certifiacte
|
|
ansible.builtin.copy:
|
|
content: "{{ icinga2_api_ssl_ca_crt }}"
|
|
dest: "{{ item }}/ca.crt"
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
when: "'api' in icinga2_features"
|
|
loop:
|
|
- /var/lib/icinga2/certs
|
|
- /etc/icinga2/pki
|
|
notify: Restart icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy api SSL ca key
|
|
ansible.builtin.copy:
|
|
content: "{{ icinga2_api_ssl_ca_key }}"
|
|
dest: /etc/icinga2/pki/ca.key
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
when: "'api' in icinga2_features and icinga2_master"
|
|
notify: Restart icinga2
|
|
tags: icinga2
|
|
|
|
- name: Copy feature config files
|
|
ansible.builtin.template:
|
|
src: feature.conf.j2
|
|
dest: "/etc/icinga2/features-available/{{ item.key }}.conf"
|
|
owner: root
|
|
group: nagios
|
|
mode: "0640"
|
|
loop: "{{ icinga2_features | dict2items }}"
|
|
loop_control:
|
|
label: "{{ item.key }}"
|
|
notify: Restart icinga2
|
|
tags: icinga2
|
|
|
|
- name: Manage features
|
|
community.general.icinga2_feature:
|
|
name: "{{ item.key }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
loop: "{{ icinga2_features | dict2items }}"
|
|
loop_control:
|
|
label: "{{ item.key }}"
|
|
notify: Restart icinga2
|
|
tags: icinga2
|