Ansible Role icingadb_web¶
IcingaDB consists of multiple components. This role only installs IcingaDB Web. Generally, the IcingaDB daemon is also required, use the linuxfabrik.lfops.icingadb role for that. Run the linuxfabrik.lfops.icingadb role first to initialise the database.
Mandatory Requirements¶
A configured Icinga2 Master Setup. This can be done using the linuxfabrik.lfops.setup_icinga2_master playbook.
Mandatory Role Variables¶
icingadb_web__api_user_login
The account for accessing the Icinga2 API.
Type: Dictionary.
Default: none
Example:
# mandatory
icingadb_web__api_user_login:
username: 'icingadb-api-user'
password: 'linuxfabrik'
Optional Role Variables¶
icingadb_web__api_host
The host on which the Icinga2 API is reachable.
Type: String.
Default:
'localhost'
icingadb_web__api_port
The port on which the Icinga2 API is reachable.
Type: Number.
Default:
5665
icingadb_web__database_host
The host on which the IcingaDB SQL database is reachable.
Type: String.
Default:
'{{ icingadb__database_host }}'
icingadb_web__database_login
The user account for accessing the IcingaDB SQL database. Currently, only MySQL is supported.
Type: Dictionary.
Default:
'{{ icingadb__database_login }}'
icingadb_web__database_name
The name of the IcingaDB SQL database.
Type: String.
Default:
'{{ icingadb__database_name }}'
icingadb_web__plugin_output_character_limit
Sets the maximum number of characters to display in plugin output.
Type: Number.
Default:
20000
icingadb_web__redis_ca
Path to the CA certificate used to check the Redis TLS certificate.
Type: String.
Default:
'{{ icingadb__redis_ca | d() }}'
icingadb_web__redis_host
The host on which Redis instance is reachable.
Type: String.
Default:
'{{ icingadb__redis_host }}'
icingadb_web__redis_insecure
Allow insecure connections to Redis via TLS.
Type: Bool.
Default:
'{{ icingadb__redis_insecure }}'
icingadb_web__redis_password
The password for the Redis instance, if authentication is enabled.
Type: String.
Default:
'{{ icingadb__redis_password | d() }}'
icingadb_web__redis_port
The port on which Redis instance is reachable.
Type: Number.
Default:
'{{ icingadb__redis_port }}'
icingadb_web__redis_tls
Enable TLS when connecting to Redis.
Type: Bool.
Default:
'{{ icingadb__redis_tls }}'
icingadb_web__redis2_host
The host on which the secondary Redis instance is reachable.
Type: String.
Default: unset
icingadb_web__redis2_password
The password for the secondary Redis instance, if authentication is enabled.
Type: String.
Default:
'{{ icingadb_web__redis_password }}'
icingadb_web__redis2_port
The port on which the secondary Redis instance is reachable.
Type: Number.
Default:
'{{ icingadb_web__redis_port }}'
Example:
# optional
icingadb_web__api_host: 'localhost'
icingadb_web__api_port: 5665
icingadb_web__database_host: '127.0.0.1'
icingadb_web__database_login:
username: 'icingadb'
password: 'linuxfabrik'
icingadb_web__database_name: 'icingadb'
icingadb_web__plugin_output_character_limit: 20000
icingadb_web__redis_ca: '/etc/pki/tls/certs/rootCA.pem'
icingadb_web__redis_host: '127.0.0.1'
icingadb_web__redis_insecure: true
icingadb_web__redis_password: 'linuxfabrik'
icingadb_web__redis_port: 6379
icingadb_web__redis_tls: true
icingadb_web__redis2_host: 'master2.example.com'
icingadb_web__redis2_password: 'linuxfabrik'
icingadb_web__redis2_port: 6379