Puppet Class: icingaweb2::module::monitoring
- Defined in:
- manifests/module/monitoring.pp
Overview
Class: icingaweb2::module::monitoring
Manage the monitoring module. This module is mandatory for probably every setup.
Parameters
- ensure
-
Enable or disable module. Defaults to ‘present`
- protected_customvars
-
Custom variables in Icinga 2 may contain sensible information. Set patterns for custom variables that should be hidden in the web interface. Defaults to ‘pw,pass,community`
- ido_type
-
Type of your IDO database. Either ‘mysql` or `pgsql`. Defaults to `mysql`
- ido_host
-
Hostname of the IDO database.
- ido_port
-
Port of the IDO database. Defaults to ‘3306`
- ido_db_name
-
Name of the IDO database.
- ido_db_username
-
Username for IDO DB connection.
- ido_db_password
-
Password for IDO DB connection.
- ido_db_charset
-
The character set to use for the database connection.
- commandtransports
-
A hash of command transports.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'manifests/module/monitoring.pp', line 38
class icingaweb2::module::monitoring(
Enum['absent', 'present'] $ensure = 'present',
Variant[String, Array[String]] $protected_customvars = ['*pw*', '*pass*', 'community'],
Enum['mysql', 'pgsql'] $ido_type = 'mysql',
Optional[String] $ido_host = undef,
Integer[1,65535] $ido_port = 3306,
Optional[String] $ido_db_name = undef,
Optional[String] $ido_db_username = undef,
Optional[String] $ido_db_password = undef,
Optional[String] $ido_db_charset = undef,
Hash $commandtransports = undef,
){
$conf_dir = $::icingaweb2::params::conf_dir
$module_conf_dir = "${conf_dir}/modules/monitoring"
case $::osfamily {
'Debian': {
$install_method = 'package'
$package_name = 'icingaweb2-module-monitoring'
}
default: {
$install_method = 'none'
$package_name = undef
}
}
icingaweb2::config::resource { 'icingaweb2-module-monitoring':
type => 'db',
db_type => $ido_type,
host => $ido_host,
port => $ido_port,
db_name => $ido_db_name,
db_username => $ido_db_username,
db_password => $ido_db_password,
db_charset => $ido_db_charset,
}
$backend_settings = {
'type' => 'ido',
'resource' => 'icingaweb2-module-monitoring',
}
$security_settings = {
'protected_customvars' => $protected_customvars ? {
String => $protected_customvars,
Array[String] => join($protected_customvars, ','),
}
}
$settings = {
'module-monitoring-backends' => {
'section_name' => 'backends',
'target' => "${module_conf_dir}/backends.ini",
'settings' => delete_undef_values($backend_settings)
},
'module-monitoring-security' => {
'section_name' => 'security',
'target' => "${module_conf_dir}/config.ini",
'settings' => delete_undef_values($security_settings)
}
}
create_resources('icingaweb2::module::monitoring::commandtransport', $commandtransports)
icingaweb2::module {'monitoring':
ensure => $ensure,
install_method => $install_method,
package_name => $package_name,
settings => $settings,
}
}
|