Puppet Class: psick::mongo::mms

Defined in:
manifests/mongo/mms.pp

Overview

Parameters:

  • ensure (String) (defaults to: $::psick::mongo::ensure)
  • apikey (String) (defaults to: '')
  • baseurl (String) (defaults to: '')
  • monitoring_agent_install (Boolean) (defaults to: true)
  • monitoring_agent_template (String) (defaults to: 'psick/mongo/mms/monitoring-agent.config.erb')
  • backup_agent_install (Boolean) (defaults to: true)
  • backup_agent_template (String) (defaults to: 'psick/mongo/mms/backup-agent.config.erb')
  • automation_agent_install (Boolean) (defaults to: true)
  • automation_agent_template (String) (defaults to: 'psick/mongo/mms/automation-agent.config.erb')
  • master_install (Boolean) (defaults to: false)
  • master_template (String) (defaults to: '')


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,
      }
    }
  }

}