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
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
|
# File 'manifests/mongo/mms.pp', line 2
class psick::mongo::mms (
String $ensure = $::psick::mongo::ensure,
String $apikey = '',
String $baseurl = '',
Boolean $monitoring_agent_install = true,
String $monitoring_agent_template = 'psick/mongo/mms/monitoring-agent.config.erb',
Boolean $backup_agent_install = true,
String $backup_agent_template = 'psick/mongo/mms/backup-agent.config.erb',
Boolean $automation_agent_install = true,
String $automation_agent_template = 'psick/mongo/mms/automation-agent.config.erb',
Boolean $master_install = false,
String $master_template = '',
) {
# Options hash is shared across all the single packages setups
$options=hiera_hash('psick::mongo::mms::options', { })
$options_default = {
'mmsApiKey' => $apikey,
'mmsBaseUrl' => $baseurl,
'maxLogFiles' => '10',
'maxLogFileSize' => '268435456',
'httpProxy' => '',
'mothership' => '',
'backup_https' => false,
}
$all_options = $options_default + $options
# monitoring_agent setup
if $monitoring_agent_install {
$monitoring_agent_user_settings=hiera_hash('psick::mongo::mms::monitoring_agent_settings', { })
$monitoring_agent_tp_settings = tp_lookup('mongodb-mms-monitoring-agent','settings','tinydata','merge')
$monitoring_agent_settings = $monitoring_agent_tp_settings + $monitoring_agent_user_settings
::tp::install { 'mongodb-mms-monitoring-agent':
auto_repo => false,
settings_hash => $monitoring_agent_settings,
}
if $monitoring_agent_template != '' {
::tp::conf { 'mongodb-mms-monitoring-agent':
template => $monitoring_agent_template,
options_hash => $options,
settings_hash => $monitoring_agent_settings,
}
}
}
# backup_agent setup
if $backup_agent_install {
$backup_agent_user_settings=hiera_hash('psick::mongo::mms::backup_agent_settings', { })
$backup_agent_tp_settings = tp_lookup('mongodb-mms-backup-agent','settings','tinydata','merge')
$backup_agent_settings = $backup_agent_tp_settings + $backup_agent_user_settings
::tp::install { 'mongodb-mms-backup-agent':
auto_repo => false,
settings_hash => $backup_agent_settings,
}
if $backup_agent_template != '' {
::tp::conf { 'mongodb-mms-backup-agent':
template => $backup_agent_template,
options_hash => $options,
settings_hash => $backup_agent_settings,
}
}
}
# automation_agent setup
if $automation_agent_install {
$automation_agent_user_settings=hiera_hash('psick::mongo::mms::automation_agent_settings', { })
$automation_agent_tp_settings = tp_lookup('mongodb-mms-automation-agent','settings','tinydata','merge')
$automation_agent_settings = $automation_agent_tp_settings + $automation_agent_user_settings
::tp::install { 'mongodb-mms-automation-agent':
auto_repo => false,
settings_hash => $automation_agent_settings,
}
if $automation_agent_template != '' {
::tp::conf { 'mongodb-mms-automation-agent':
template => $automation_agent_template,
options_hash => $options,
settings_hash => $automation_agent_settings,
}
}
}
# master setup
if $master_install {
$master_user_settings=hiera_hash('psick::mongo::mms::master_settings', { })
$master_tp_settings = tp_lookup('mongodb-mms','settings','tinydata','merge')
$master_settings = $master_tp_settings + $master_user_settings
::tp::install { 'mongodb-mms':
auto_repo => false,
settings_hash => $master_settings,
}
if $master_template != '' {
::tp::conf { 'mongodb-mms':
template => $master_template,
options_hash => $options,
settings_hash => $master_settings,
}
}
}
}
|