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
|
# File 'manifests/db/database.pp', line 23
class icinga::db::database (
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $access_instances,
Icinga::Secret $db_pass,
String $db_name = 'icingadb',
String $db_user = 'icingadb',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
$_encoding = $db_type ? {
'mysql' => 'utf8',
default => 'UTF8',
}
icinga::database { "${db_type}-${db_name}":
db_type => $db_type,
db_name => $db_name,
db_user => $db_user,
db_pass => $db_pass,
access_instances => $access_instances,
tls => $tls,
mysql_privileges => ['ALL'],
encoding => $_encoding,
}
if $db_type == 'pgsql' {
include postgresql::server::contrib
postgresql::server::extension { "${db_name}-citext":
extension => 'citext',
database => $db_name,
}
}
}
|