Puppet Class: mongodb::globals
- Inherited by:
-
mongodb::params
mongodb::client::params
mongodb::mongos::params
- Defined in:
- manifests/globals.pp
Overview
Class for setting cross-class global overrides. See README.md for more details.
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 73 74 75 76 |
# File 'manifests/globals.pp', line 3
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': {
# For RedHat, Linux and Suse family: if manage_package_repo is set at undef that include mongodb::repo
if $manage_package_repo != false {
class { 'mongodb::repo':
ensure => present,
version => pick($version, '3.6'),
use_enterprise_repo => $use_enterprise_repo,
repo_location => $repo_location,
proxy => $repo_proxy,
}
}
}
default: {
# For other (Debian) family: if manage_package_repo is set at undef that not include mongodb::repo
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,
}
}
}
}
}
|