89 lines
2.1 KiB
YAML
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
|