self-hosting/roles/icinga2_master/tasks/main.yml

64 lines
1.6 KiB
YAML
Raw Normal View History

2025-01-11 12:44:28 +01:00
---
- name: Gather Icinga2 Agent facts
delegate_to: "{{ icinga2_agent }}"
delegate_facts: true
ansible.builtin.setup:
gather_subset: default_ipv4
register: i2_agent
- name: Allow icinga2 to/from Agent
2025-01-12 11:02:58 +01:00
become: true
ansible.builtin.template:
src: "nftables/{{ item }}.d/icinga2.conf.j2"
dest: "/etc/nftables/{{ item }}.d/icinga2.conf"
2025-01-12 11:02:58 +01:00
mode: 0640
loop:
- input
- output
2025-01-12 11:02:58 +01:00
notify: Reload nftables service
2025-01-14 11:25:27 +01:00
- name: Add Icinga2 Agent to /etc/hosts
become: true
ansible.builtin.lineinfile:
path: /etc/hosts
line: "{{ i2_agent.ansible_facts.ansible_default_ipv4.address }}\t{{ icinga2_agent }}"
2025-01-12 10:32:24 +01:00
- name: Setup Master node
become: true
ansible.builtin.command:
cmd: "icinga2 node setup --master --cn {{ ansible_hostname }} --disable-confd"
creates: "/var/lib/icinga2/certs/{{ ansible_hostname }}.crt"
notify: Restart icinga2 service
2025-01-14 13:08:24 +01:00
- name: Copy zones.conf file
become: true
ansible.builtin.template:
src: zones.conf.j2
dest: /etc/icinga2/zones.conf
owner: nagios
group: nagios
mode: 0644
notify: Reload icinga2 service
2025-01-14 13:08:24 +01:00
- name: Create master zone directory
become: true
ansible.builtin.file:
path: /etc/icinga2/zones.d/master
state: directory
owner: nagios
group: nagios
mode: 0750
2025-01-16 22:45:11 +01:00
- name: Copy files under master zone directory
become: true
ansible.builtin.template:
src: "{{ item }}"
dest: "/etc/icinga2/zones.d/master/{{ item | basename | replace('.j2', '') }}"
owner: nagios
group: nagios
mode: 0644
with_fileglob:
- "{{ role_path }}/templates/zones.d/master/*"
2025-01-16 22:45:11 +01:00
notify: Reload icinga2 service