2015-02-20 10:40:45 +01:00
|
|
|
# == Class icingaweb2::config
|
|
|
|
#
|
2015-03-16 18:44:56 +01:00
|
|
|
class icingaweb2::config {
|
|
|
|
if is_function_available('assert_private') {
|
|
|
|
assert_private()
|
|
|
|
} else {
|
|
|
|
private()
|
|
|
|
}
|
2015-03-06 10:00:33 +01:00
|
|
|
|
2015-02-20 13:08:43 +01:00
|
|
|
@user { 'icingaweb2':
|
|
|
|
ensure => present,
|
|
|
|
home => $::icingaweb2::web_root,
|
|
|
|
managehome => true,
|
|
|
|
}
|
|
|
|
|
|
|
|
@group { 'icingaweb2':
|
|
|
|
ensure => present,
|
|
|
|
system => true,
|
|
|
|
}
|
|
|
|
|
|
|
|
realize(User['icingaweb2'])
|
|
|
|
realize(Group['icingaweb2'])
|
|
|
|
|
2015-02-20 10:40:45 +01:00
|
|
|
File {
|
|
|
|
require => Class['::icingaweb2::install'],
|
2015-02-23 10:49:32 +01:00
|
|
|
owner => $::icingaweb2::config_user,
|
|
|
|
group => $::icingaweb2::config_group,
|
|
|
|
mode => $::icingaweb2::config_file_mode,
|
2015-02-20 10:40:45 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
file {
|
|
|
|
$::icingaweb2::config_dir:
|
|
|
|
ensure => directory,
|
|
|
|
mode => $::icingaweb2::config_dir_mode,
|
|
|
|
recurse => $::icingaweb2::config_dir_recurse;
|
|
|
|
|
|
|
|
"${::icingaweb2::config_dir}/enabledModules":
|
2015-03-16 16:04:24 +01:00
|
|
|
ensure => directory,
|
|
|
|
mode => $::icingaweb2::config_dir_mode;
|
2015-02-20 10:40:45 +01:00
|
|
|
|
|
|
|
"${::icingaweb2::config_dir}/modules":
|
2015-03-16 16:04:24 +01:00
|
|
|
ensure => directory,
|
|
|
|
mode => $::icingaweb2::config_dir_mode;
|
2015-02-20 10:40:45 +01:00
|
|
|
|
|
|
|
"${::icingaweb2::config_dir}/authentication.ini":
|
2015-03-16 18:44:56 +01:00
|
|
|
ensure => present;
|
2015-02-20 10:40:45 +01:00
|
|
|
|
|
|
|
"${::icingaweb2::config_dir}/config.ini":
|
2015-03-16 18:44:56 +01:00
|
|
|
ensure => present;
|
2015-02-20 10:40:45 +01:00
|
|
|
|
|
|
|
"${::icingaweb2::config_dir}/resources.ini":
|
2015-03-16 18:44:56 +01:00
|
|
|
ensure => present;
|
2015-02-20 10:40:45 +01:00
|
|
|
|
|
|
|
"${::icingaweb2::config_dir}/roles.ini":
|
2015-03-16 18:44:56 +01:00
|
|
|
ensure => present;
|
2015-02-20 12:28:33 +01:00
|
|
|
|
|
|
|
$::icingaweb2::web_root:
|
2015-02-20 13:04:10 +01:00
|
|
|
ensure => directory,
|
|
|
|
mode => $::icingaweb2::config_dir_mode;
|
2015-02-20 10:40:45 +01:00
|
|
|
}
|
2015-02-20 15:50:42 +01:00
|
|
|
|
2015-03-16 18:44:56 +01:00
|
|
|
# Configure authentication.ini settings
|
|
|
|
icingaweb2::config::authentication_database { 'Local Database Authenticaiton':
|
|
|
|
auth_section => 'icingaweb2',
|
|
|
|
auth_resource => "${::icingaweb2::auth_resource}",
|
|
|
|
}
|
|
|
|
|
|
|
|
# Configure config.ini settings
|
|
|
|
Ini_Setting {
|
|
|
|
ensure => present,
|
|
|
|
require => File["${::icingaweb2::config_dir}/config.ini"],
|
|
|
|
path => "${::icingaweb2::config_dir}/config.ini",
|
|
|
|
}
|
|
|
|
|
|
|
|
# Logging Configuration
|
|
|
|
ini_setting { 'icingaweb2 config logging method':
|
|
|
|
section => 'logging',
|
|
|
|
setting => 'log',
|
|
|
|
value => "\"${::icingaweb2::log_method}\"",
|
|
|
|
}
|
|
|
|
ini_setting { 'icingaweb2 config logging level':
|
|
|
|
section => 'logging',
|
|
|
|
setting => 'level',
|
|
|
|
value => "\"${::icingaweb2::log_level}\"",
|
|
|
|
}
|
|
|
|
ini_setting { 'icingaweb2 config logging application':
|
|
|
|
section => 'logging',
|
|
|
|
setting => 'application',
|
|
|
|
value => "\"${::icingaweb2::log_application}\"",
|
|
|
|
}
|
|
|
|
|
|
|
|
# Preferences Configuration
|
|
|
|
ini_setting { 'icingaweb2 config preferences store':
|
|
|
|
section => 'preferences',
|
|
|
|
setting => 'store',
|
|
|
|
value => "\"${::icingaweb2::log_store}\"",
|
|
|
|
}
|
|
|
|
ini_setting { 'icingaweb2 config preferences resource':
|
|
|
|
section => 'preferences',
|
|
|
|
setting => 'resource',
|
|
|
|
value => "\"${::icingaweb2::log_resource}\"",
|
|
|
|
}
|
|
|
|
|
|
|
|
# Configure resources.ini
|
|
|
|
icingaweb2::config::resource_database { 'icingaweb_db':
|
|
|
|
resource_db => "${::icingaweb2::web_db}",
|
|
|
|
resource_host => "${::icingaweb2::web_db_host}",
|
|
|
|
resource_port => "${::icingaweb2::web_db_port}",
|
|
|
|
resource_dbname => "${::icingaweb2::web_db_name}",
|
|
|
|
resource_username => "${::icingaweb2::web_db_user}",
|
|
|
|
resource_password => "${::icingaweb2::web_db_pass}",
|
|
|
|
}
|
|
|
|
|
|
|
|
icingaweb2::config::resource_database { 'icinga_ido':
|
|
|
|
resource_db => "${::icingaweb2::ido_db}",
|
|
|
|
resource_host => "${::icingaweb2::ido_db_host}",
|
|
|
|
resource_port => "${::icingaweb2::ido_db_port}",
|
|
|
|
resource_dbname => "${::icingaweb2::ido_db_name}",
|
|
|
|
resource_username => "${::icingaweb2::ido_db_user}",
|
|
|
|
resource_password => "${::icingaweb2::ido_db_pass}",
|
|
|
|
}
|
|
|
|
|
|
|
|
# Configure roles.ini
|
|
|
|
icingaweb2::config::roles { 'Admins':
|
|
|
|
role_name => "${::icingaweb2::admin_users}",
|
|
|
|
role_permissions => "${::icingaweb2::admin_permissions}",
|
|
|
|
}
|
|
|
|
|
2015-02-20 15:50:42 +01:00
|
|
|
if $::icingaweb2::manage_apache_vhost {
|
|
|
|
::apache::custom_config { 'icingaweb2':
|
2015-03-16 12:47:55 +01:00
|
|
|
content => template("${::icingaweb2::template_apache}"),
|
2015-02-20 15:50:42 +01:00
|
|
|
}
|
|
|
|
}
|
2015-02-20 10:40:45 +01:00
|
|
|
}
|
|
|
|
|