89 lines
2.1 KiB
YAML

---
- name: Ensure keyrings directory exists
ansible.builtin.file:
path: /etc/apt/keyrings
state: directory
mode: '0755'
- name: Download Icinga GPG key to keyrings
ansible.builtin.get_url:
url: https://packages.icinga.com/icinga.key
dest: /etc/apt/keyrings/icinga.asc
mode: '0644'
- name: Add Icinga APT repository (Ubuntu 24.04 "noble")
ansible.builtin.apt_repository:
repo: "deb [signed-by=/etc/apt/keyrings/icinga.asc] https://packages.icinga.com/ubuntu icinga-noble main"
state: present
filename: icinga
- name: Add Icinga 2 GPG key
ansible.builtin.apt_key:
url: https://packages.icinga.com/icinga.key
state: present
- name: Install Icinga 2
ansible.builtin.apt:
name: icinga2
state: present
update_cache: true
# Include IDO DB setup tasks
- name: Setup Icinga2 IDO DB
ansible.builtin.include_tasks: icinga2-ido.yml
- name: Start and enable icinga2 service
ansible.builtin.service:
name: icinga2
state: started
enabled: true
- name: Install Icinga Web 2 and Apache (optional)
when: icinga2_install_web
ansible.builtin.apt:
name:
- icingaweb2
- icingacli
- apache2
- php
- php-cli
- php-mysql
- php-xml
- php-gd
- php-imagick
- php-curl
state: present
- name: Enable Apache for Icinga Web
when: icinga2_install_web
ansible.builtin.service:
name: apache2
state: started
enabled: true
- name: Configure Icinga Web 2 database (optional)
when: icinga2_install_web
ansible.builtin.debug:
msg: "You can add DB config, MySQL setup, etc. here."
- name: Install Icinga2 IDO MySQL module
ansible.builtin.apt:
name: icinga2-ido-mysql
state: present
- name: Enable the IDO MySQL feature
ansible.builtin.command: icinga2 feature enable ido-mysql
notify: Restart Icinga2
- name: Configure IDO DB connection
ansible.builtin.template:
src: ido-mysql.conf.j2
dest: /etc/icinga2/features-enabled/ido-mysql.conf
owner: root
group: root
mode: '0644'
notify: Restart Icinga2
- name: Setup Icinga2 Templates
ansible.builtin.include_tasks: icinga2-templates.yml