Ansible Role icingaweb2_module_director¶
This role installs and configures the IcingaWeb2 Director Module, and deploys the baskets from the Linuxfabrik Monitoring Plugins.
This role is tested with the following IcingaWeb2 Director Module versions:
1.10.2
1.10.2.2023042001
Mandatory Requirements¶
A configured IcingaWeb2. This can be done using the linuxfabrik.lfops.icingaweb2 role.
A SQL database and user. This can be done using the linuxfabrik.lfops.mariadb_server role.
Mandatory Role Variables¶
icingaweb2_module_director__api_user_login
The account for accessing the Icinga2 API.
Type: Dictionary.
icingaweb2_module_director__database_login
The user account for accessing the Director SQL database. Currently, only MySQL is supported.
Type: Dictionary.
icingaweb2_module_director__enrolment_user_login
A IcingaWeb2 account with the
module/director,director/api,director/hostspermissions, allowing it to enrol new hosts in the Icinga Director. Note that the username has to beenrolment-userfor the account to have the correct permissions.Type: Dictionary.
icingaweb2_module_director__monitoring_plugins_version
Which version of the monitoring plugins should be deployed? Possible options:
A specific release, for example
1.2.0.11. See the Releases.dev: The development version (main branch). Use with care. Only works withmonitoring_plugins__install_method: 'source'.
Type: String.
Default:
'{{ lfops__monitoring_plugins_version | default() }}'
icingaweb2_module_director__version
The module version to install. Possible options from either:
https://github.com/Icinga/icingaweb2-module-director/releases
https://git.linuxfabrik.ch/linuxfabrik/icingaweb2-module-director/-/releases
Have a look at
icingaweb2_module_director__url.Type: String.
Example:
# mandatory
icingaweb2_module_director__api_user_login:
username: 'icinga-director-api'
password: 'linuxfabrik'
icingaweb2_module_director__database_login:
username: 'icinga_director_user'
password: 'linuxfabrik'
icingaweb2_module_director__enrolment_user_login:
username: 'enrolment-user'
password: 'linuxfabrik'
icingaweb2_module_director__monitoring_plugins_version: '1.2.0.11'
icingaweb2_module_director__version: 'v1.8.1.2021090901'
Optional Role Variables¶
icingaweb2_module_director__api_endpoint
The endpoint name for accessing the Icinga2 API.
Type: String.
Default:
'{{ icinga2_master__cn }}'
icingaweb2_module_director__api_host
The host for accessing the Icinga2 API.
Type: String.
Default:
'localhost'
icingaweb2_module_director__api_port
The port for accessing the Icinga2 API.
Type: Number.
Default:
5665
icingaweb2_module_director__database_host
The host of the SQL database server.
Type: String.
Default:
'localhost'
icingaweb2_module_director__database_name
The name of the Director SQL database.
Type: String.
Default:
'icinga_director'
icingaweb2_module_director__force_kickstart
Force run the kickstart. Sometimes the check if it is required is flawed.
Type: Bool.
Default:
false
icingaweb2_module_director__service_enabled
Enables or disables the director service, analogous to
systemctl enable/disable --now.Type: Bool.
Default:
true
icingaweb2_module_director__skip_basket_import
Should the Linuxfabrik Monitoring Plugins Basket be generated and imported or not?
Type: Bool.
Default:
false
icingaweb2_module_director__url
The URL from where to download the Director. Defaults to the Linuxfabrik Fork of the Icinga Director. If using the official Icinga Director, the link is
'https://codeload.github.com/Icinga/icingaweb2-module-director/tar.gz/refs/tags/{{ icingaweb2_module_director__version }}'.Type: String.
Default:
'https://github.com/Linuxfabrik/icingaweb2-module-director/archive/{{ icingaweb2_module_director__version }}.tar.gz'
Example:
# optional
icingaweb2_module_director__api_endpoint: '{{ icinga2_master__cn }}'
icingaweb2_module_director__api_host: 'localhost'
icingaweb2_module_director__api_port: 5665
icingaweb2_module_director__database_host: 'localhost'
icingaweb2_module_director__database_name: 'icinga_director'
icingaweb2_module_director__force_kickstart: true
icingaweb2_module_director__service_enabled: true
icingaweb2_module_director__skip_basket_import: true
icingaweb2_module_director__url: 'https://github.com/Icinga/icingaweb2-module-director/archive/{{ icingaweb2_module_director__version }}.tar.gz'