6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
|
# File 'manifests/module/director/config.pp', line 6
class icingaweb2::module::director::config {
assert_private()
$stdlib_version = $icingaweb2::globals::stdlib_version
$icingacli_bin = $icingaweb2::globals::icingacli_bin
$install_method = $icingaweb2::module::director::install_method
$db = $icingaweb2::module::director::db
$db_resource = $icingaweb2::module::director::db_resource_name
$use_tls = $icingaweb2::module::director::use_tls
$tls = $icingaweb2::module::director::tls + {
cacert_file => icingaweb2::pick($icingaweb2::module::director::tls['cacert_file'], $icingaweb2::config::tls['cacert_file']),
capath => icingaweb2::pick($icingaweb2::module::director::tls_capath, $icingaweb2::config::tls['capath']),
noverify => icingaweb2::pick($icingaweb2::module::director::tls_noverify, $icingaweb2::config::tls['noverify']),
cipher => icingaweb2::pick($icingaweb2::module::director::tls_cipher, $icingaweb2::config::tls['cipher']),
}
$settings = $icingaweb2::module::director::db_settings + $icingaweb2::module::director::kickstart_settings
$service_user = $icingaweb2::module::director::service_user
Exec {
user => 'root',
path => $facts['path'],
provider => 'shell',
}
icingaweb2::resource::database { $db_resource:
type => $db['type'],
host => $db['host'],
port => $db['port'],
database => $db['database'],
username => $db['username'],
password => $db['password'],
charset => pick($icingaweb2::module::director::db_charset, $icingaweb2::globals::db_charset[$db['type']]['director']),
use_tls => $use_tls,
tls_noverify => $tls['noverify'],
tls_key => $tls['key_file'],
tls_cert => $tls['cert_file'],
tls_cacert => $tls['cacert_file'],
tls_capath => $tls['capath'],
tls_cipher => $tls['cipher'],
}
create_resources('icingaweb2::inisection', $settings)
if $install_method == 'git' {
systemd::unit_file { 'icinga-director.service':
content => epp('icingaweb2/icinga-director.service.epp', {
'conf_user' => $service_user,
'icingacli_bin' => $icingacli_bin,
}),
}
}
if $install_method == 'package' {
systemd::dropin_file { 'icinga-director.conf':
unit => 'icinga-director.service',
content => "[Service]\nUser=${service_user}",
}
}
}
|