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
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
# File 'manifests/server/config.pp', line 5
class mongodb::server::config {
$ensure = $mongodb::server::ensure
$user = $mongodb::server::user
$group = $mongodb::server::group
$config = $mongodb::server::config
$config_content = $mongodb::server::config_content
$config_template = $mongodb::server::config_template
$config_data = $mongodb::server::config_data
$dbpath = $mongodb::server::dbpath
$dbpath_fix = $mongodb::server::dbpath_fix
$pidfilepath = $mongodb::server::pidfilepath
$pidfilemode = $mongodb::server::pidfilemode
$manage_pidfile = $mongodb::server::manage_pidfile
$logpath = $mongodb::server::logpath
$logappend = $mongodb::server::logappend
$system_logrotate = $mongodb::server::system_logrotate
$fork = $mongodb::server::fork
$port = $mongodb::server::port
$journal = $mongodb::server::journal
$smallfiles = $mongodb::server::smallfiles
$cpu = $mongodb::server::cpu
$auth = $mongodb::server::auth
$create_admin = $mongodb::server::create_admin
$admin_username = $mongodb::server::admin_username
$admin_password = $mongodb::server::admin_password
$handle_creds = $mongodb::server::handle_creds
$store_creds = $mongodb::server::store_creds
$rcfile = $mongodb::server::rcfile
$verbose = $mongodb::server::verbose
$verbositylevel = $mongodb::server::verbositylevel
$objcheck = $mongodb::server::objcheck
$quota = $mongodb::server::quota
$quotafiles = $mongodb::server::quotafiles
$diaglog = $mongodb::server::diaglog
$oplog_size = $mongodb::server::oplog_size
$nohints = $mongodb::server::nohints
$nohttpinterface = $mongodb::server::nohttpinterface
$noscripting = $mongodb::server::noscripting
$notablescan = $mongodb::server::notablescan
$noprealloc = $mongodb::server::noprealloc
$nssize = $mongodb::server::nssize
$mms_token = $mongodb::server::mms_token
$mms_name = $mongodb::server::mms_name
$mms_interval = $mongodb::server::mms_interval
$configsvr = $mongodb::server::configsvr
$shardsvr = $mongodb::server::shardsvr
$replset = $mongodb::server::replset
$rest = $mongodb::server::rest
$quiet = $mongodb::server::quiet
$slowms = $mongodb::server::slowms
$keyfile = $mongodb::server::keyfile
$key = $mongodb::server::key
$ipv6 = $mongodb::server::ipv6
$bind_ip = $mongodb::server::bind_ip
$directoryperdb = $mongodb::server::directoryperdb
$profile = $mongodb::server::profile
$maxconns = $mongodb::server::maxconns
$set_parameter = $mongodb::server::set_parameter
$syslog = $mongodb::server::syslog
$tls = $mongodb::server::tls
$tls_key = $mongodb::server::tls_key
$tls_ca = $mongodb::server::tls_ca
$tls_conn_without_cert = $mongodb::server::tls_conn_without_cert
$tls_invalid_hostnames = $mongodb::server::tls_invalid_hostnames
$tls_invalid_certificates = $mongodb::server::tls_invalid_certificates
$tls_mode = $mongodb::server::tls_mode
$storage_engine = $mongodb::server::storage_engine
File {
owner => $user,
group => $group,
}
if ($ensure == 'present' or $ensure == true) {
if $keyfile and $key {
file { $keyfile:
content => $key,
owner => $user,
group => $group,
mode => '0400',
}
}
if empty($storage_engine) {
$storage_engine_internal = undef
} else {
$storage_engine_internal = $storage_engine
}
# Pick which config content to use
if $config_content {
$cfg_content = $config_content
} elsif $config_template {
# Template has available user-supplied data
# - $config_data
$cfg_content = template($config_template)
} else {
# Template has available user-supplied data
# - $config_data
$cfg_content = template('mongodb/mongodb.conf.erb')
}
file { $config:
content => $cfg_content,
owner => 'root',
group => 'root',
mode => '0644',
}
file { $dbpath:
ensure => directory,
mode => '0750',
owner => $user,
group => $group,
selrange => 's0',
selrole => 'object_r',
seltype => 'mongod_var_lib_t',
seluser => 'system_u',
require => File[$config],
}
if $dbpath_fix {
exec { 'fix dbpath permissions':
command => "chown -R ${user}:${group} ${dbpath}",
path => ['/usr/bin', '/bin'],
onlyif => "find ${dbpath} -not -user ${user} -o -not -group ${group} -print -quit | grep -q '.*'",
subscribe => File[$dbpath],
}
}
if $pidfilepath {
if $manage_pidfile {
file { $pidfilepath:
ensure => file,
mode => $pidfilemode,
owner => $user,
group => $group,
}
}
}
} else {
file { $dbpath:
ensure => absent,
force => true,
backup => false,
}
file { $config:
ensure => absent,
}
}
$admin_password_unsensitive = if $admin_password =~ Sensitive[String] {
$admin_password.unwrap
} else {
$admin_password
}
if $handle_creds {
file { $rcfile:
ensure => file,
content => template('mongodb/mongoshrc.js.erb'),
owner => 'root',
group => 'root',
mode => '0600',
}
}
}
|