Getting started
Example inventory
The debops.icinga_db
role is used with the main debops.icinga role
to configure the database for Icinga 2, and will not work correctly otherwise.
Database configuration is performed using the dbconfig
configuration
management support available in Debian. Both PostgreSQL and MariaDB databases
are supported and automatically selected if present.
[debops_service_icinga]
icinga-master
[debops_service_icinga_db]
icinga-master
See the Deployment guide documentation for more details about deploying Icinga in DebOps.
Example playbook
If you are using this role without DebOps, here's an example Ansible playbook
that uses the debops.icinga_db
role:
---
# SPDX-License-Identifier: GPL-3.0-only
- name: Configure Icinga database
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts: [ 'debops_service_icinga_db' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
roles:
- role: mariadb
tags: [ 'role::mariadb', 'skip::mariadb' ]
mariadb__dependent_databases: '{{ icinga_db__mariadb__dependent_databases }}'
mariadb__dependent_users: '{{ icinga_db__mariadb__dependent_users }}'
when: icinga_db__type == 'mariadb'
- role: postgresql
tags: [ 'role::postgresql', 'skip::postgresql' ]
postgresql__dependent_roles: '{{ icinga_db__postgresql__dependent_roles }}'
postgresql__dependent_databases: '{{ icinga_db__postgresql__dependent_databases }}'
when: icinga_db__type == 'postgresql'
- role: icinga_db
tags: [ 'role::icinga_db', 'skip::icinga_db' ]