-
-
Notifications
You must be signed in to change notification settings - Fork 451
/
globals.pp
72 lines (65 loc) · 2.14 KB
/
globals.pp
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
71
72
# Class for setting cross-class global overrides. See README.md for more
# details.
class mongodb::globals (
$server_package_name = undef,
$client_package_name = undef,
$mongod_service_manage = undef,
$service_enable = undef,
$service_ensure = undef,
$service_name = undef,
$service_provider = undef,
$service_status = undef,
$user = undef,
$group = undef,
$ipv6 = undef,
$bind_ip = undef,
$version = fact('os.distro.codename') ? { # Debian 10 doesn't provide mongodb 3.6.
'buster' => '4.4.8',
default => undef
},
$manage_package_repo = fact('os.distro.codename') ? { # Debian 10 doesn't provide mongodb packages. So manage it!
'buster' => true,
default => undef
},
$manage_package = undef,
$repo_proxy = undef,
$proxy_username = undef,
$proxy_password = undef,
$repo_location = undef,
$use_enterprise_repo = undef,
$pidfilepath = undef,
$pidfilemode = undef,
$manage_pidfile = undef,
) {
if $use_enterprise_repo {
$edition = 'enterprise'
} else {
$edition = 'org'
}
# Setup of the repo only makes sense globally, so we are doing it here.
case $facts['os']['family'] {
'RedHat', 'Linux', 'Suse': {
class { 'mongodb::repo':
ensure => present,
version => pick($version, '3.6'),
use_enterprise_repo => $use_enterprise_repo,
repo_location => $repo_location,
proxy => $repo_proxy,
}
}
default: {
if $manage_package_repo {
if $use_enterprise_repo == true and $version == undef {
fail('You must set mongodb::globals::version when mongodb::globals::use_enterprise_repo is true')
}
class { 'mongodb::repo':
ensure => present,
version => $version,
use_enterprise_repo => $use_enterprise_repo,
repo_location => $repo_location,
proxy => $repo_proxy,
}
}
}
}
}