-
Notifications
You must be signed in to change notification settings - Fork 233
Expand file tree
/
Copy pathpostgresql.pp
More file actions
70 lines (61 loc) · 2.31 KB
/
postgresql.pp
File metadata and controls
70 lines (61 loc) · 2.31 KB
1
2
3
4
5
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
65
66
67
68
69
70
# Class for creating the PuppetDB postgresql database. See README.md for more
# information.
class puppetdb::database::postgresql(
$listen_addresses = $puppetdb::params::database_host,
$database_name = $puppetdb::params::database_name,
$database_username = $puppetdb::params::database_username,
$database_password = $puppetdb::params::database_password,
$database_port = $puppetdb::params::database_port,
$database_ssl_key_file = $puppetdb::params::database_ssl_key_file,
$database_ssl_cert_file = $puppetdb::params::database_ssl_cert_file,
$manage_database = $puppetdb::params::manage_database,
$manage_server = $puppetdb::params::manage_dbserver,
$manage_package_repo = $puppetdb::params::manage_pg_repo,
$postgres_version = $puppetdb::params::postgres_version,
) inherits puppetdb::params {
if $manage_server {
class { '::postgresql::globals':
manage_package_repo => $manage_package_repo,
version => $postgres_version,
}
# get the pg server up and running
class { '::postgresql::server':
ip_mask_allow_all_users => '0.0.0.0/0',
listen_addresses => $listen_addresses,
port => scanf($database_port, '%i')[0],
}
postgresql::server::config_entry {'ssl':
ensure => present,
value => 'on',
}
postgresql::server::config_entry {'ssl_key_file':
ensure => present,
value => $puppet_ssl_key_path,
}
postgresql::server::config_entry {'ssl_cert_file':
ensure => present,
value => $puppet_ssl_cert_path,
}
postgresql::server::config_entry {'ssl_ca_file':
ensure => present,
value => $puppet_ssl_ca_cert_path,
}
# Only install pg_trgm extension, if database it is actually managed by the module
if $manage_database {
# get the pg contrib to use pg_trgm extension
class { '::postgresql::server::contrib': }
postgresql::server::extension { 'pg_trgm':
database => $database_name,
require => Postgresql::Server::Db[$database_name],
}
}
}
if $manage_database {
# create the puppetdb database
postgresql::server::db { $database_name:
user => $database_username,
password => $database_password,
grant => 'all',
}
}
}