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
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
110
111
|
# File 'manifests/profile/puppetdb.pp', line 30
class puppet::profile::puppetdb (
$puppetdb_version = 'installed',
$node_purge_ttl = '0s',
$node_ttl = '0s',
$puppetdb_listen_address = '127.0.0.1',
$puppetdb_server = undef,
$puppetdb_ssl_listen_address = '0.0.0.0',
$report_ttl = '14d',
$reports = undef,
$use_ssl = true,
$listen_port = '8080',
$ssl_listen_port = '8081',
$puppet_server_type = undef,
) {
# input validation
validate_bool(
$use_ssl
)
validate_string(
$puppetdb_version,
$node_purge_ttl,
$node_ttl,
$puppetdb_listen_address,
$puppetdb_ssl_listen_address,
$report_ttl,
)
validate_integer(
[
$listen_port,
$ssl_listen_port,
]
)
# add deprecation warnings
if $puppetdb_server != undef {
notify { 'Deprecation notice: puppet::profile::puppetdb::puppetdb_server is deprecated, use puppet::profile::master to setup PuppetDB on your puppetmaster': }
}
if $reports != undef {
notify { 'Deprecation notice: puppet::profile::puppetdb::reports is deprecated, use puppet::profile::master to setup PuppetDB on your puppetmaster': }
}
if $puppet_server_type != undef {
notify { 'Deprecation notice: puppet::profile::puppetdb::puppet_server_type is deprecated, use puppet::profile::master to setup PuppetDB on your puppetmaster': }
}
case $use_ssl {
default : {
$puppetdb_port = $ssl_listen_port
$disable_ssl = false
}
false : {
$puppetdb_port = $listen_port
$disable_ssl = true
}
}
# add pg_trgm to the puppetdb database
# remove this once the puppetdb module supports it
# need postgresql::server::contrib class to make pg_trgm work
# class { '::postgresql::server::contrib':
# }
# postgresql::server::extension{ 'pg_trgm':
# database => 'puppetdb',
# }
# version is now managed with the puppetdb::globals class
class { '::puppetdb::globals':
version => $puppetdb_version,
}
# setup puppetdb
class { '::puppetdb':
listen_port => $listen_port,
ssl_listen_port => $ssl_listen_port,
disable_ssl => $disable_ssl,
listen_address => $puppetdb_listen_address,
ssl_listen_address => $puppetdb_ssl_listen_address,
node_ttl => $node_ttl,
node_purge_ttl => $node_purge_ttl,
report_ttl => $report_ttl,
}
}
|