module-icingaweb2/manifests/config.pp

136 lines
3.8 KiB
ObjectPascal
Raw Normal View History

2015-02-20 10:40:45 +01:00
# == Class icingaweb2::config
#
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":
ensure => directory,
mode => $::icingaweb2::config_dir_mode;
2015-02-20 10:40:45 +01:00
"${::icingaweb2::config_dir}/modules":
ensure => directory,
mode => $::icingaweb2::config_dir_mode;
2015-02-20 10:40:45 +01:00
"${::icingaweb2::config_dir}/authentication.ini":
ensure => present;
2015-02-20 10:40:45 +01:00
"${::icingaweb2::config_dir}/config.ini":
ensure => present;
2015-02-20 10:40:45 +01:00
"${::icingaweb2::config_dir}/resources.ini":
ensure => present;
2015-02-20 10:40:45 +01:00
"${::icingaweb2::config_dir}/roles.ini":
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
# 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':
content => template("${::icingaweb2::template_apache}"),
2015-02-20 15:50:42 +01:00
}
}
2015-02-20 10:40:45 +01:00
}