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:

---

- 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: icinga_db
      tags: [ 'role::icinga_db', 'skip::icinga_db' ]

Ansible tags

You can use Ansible --tags or --skip-tags parameters to limit what tasks are performed during Ansible run. This can be used after a host was first configured to speed up playbook execution, when you are sure that most of the configuration is already in the desired state.

Available role tags:

role::icinga_db
Main role tag, should be used in the playbook to execute all of the role tasks as well as role dependencies.