alliance-boreale/infrastructure/icinga2-ansible-noc/ansible/roles/icingaweb2/tasks/main.yml
2026-05-14 08:54:41 -04:00

96 lines
2.3 KiB
YAML

---
- name: Install Apache, PHP and Icinga Web 2
ansible.builtin.apt:
name:
- apache2
- libapache2-mod-php
- php
- php-cli
- php-intl
- php-mysql
- php-gd
- php-curl
- php-mbstring
- php-xml
- icingaweb2
- icingacli
state: latest
- name: Ensure Icinga Web 2 config directories exist
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: www-data
group: icingaweb2
mode: '2770'
loop:
- /etc/icingaweb2
- /etc/icingaweb2/modules
- /etc/icingaweb2/modules/icingadb
- /etc/icingaweb2/modules/icingadb/config
- name: Configure Icinga Web resources
ansible.builtin.template:
src: resources.ini.j2
dest: /etc/icingaweb2/resources.ini
owner: www-data
group: icingaweb2
mode: '0660'
- name: Configure Icinga Web authentication
ansible.builtin.template:
src: authentication.ini.j2
dest: /etc/icingaweb2/authentication.ini
owner: www-data
group: icingaweb2
mode: '0660'
- name: Configure Icinga Web roles
ansible.builtin.template:
src: roles.ini.j2
dest: /etc/icingaweb2/roles.ini
owner: www-data
group: icingaweb2
mode: '0660'
- name: Create admin user password hash
ansible.builtin.command: "openssl passwd -1 {{ icingaweb_admin_password }}"
register: icingaweb_admin_hash
changed_when: false
no_log: true
- name: Configure local Icinga Web users
ansible.builtin.template:
src: users.ini.j2
dest: /etc/icingaweb2/users.ini
owner: www-data
group: icingaweb2
mode: '0660'
no_log: true
- name: Configure Icinga DB Web module database
ansible.builtin.template:
src: icingadb-config.ini.j2
dest: /etc/icingaweb2/modules/icingadb/config.ini
owner: www-data
group: icingaweb2
mode: '0660'
- name: Configure Icinga DB Web command transport
ansible.builtin.template:
src: icingadb-commandtransports.ini.j2
dest: /etc/icingaweb2/modules/icingadb/commandtransports.ini
owner: www-data
group: icingaweb2
mode: '0660'
- name: Enable Icinga DB Web module
ansible.builtin.command: icingacli module enable icingadb
args:
creates: /etc/icingaweb2/enabledModules/icingadb
- name: Enable and start Apache
ansible.builtin.systemd:
name: apache2
enabled: true
state: started