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: '')
  • manage (Boolean) (defaults to: $::psick::manage)
  • noop_manage (Boolean) (defaults to: $::psick::noop_manage)
  • noop_value (Boolean) (defaults to: $::psick::noop_value)


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
116
117
118
119
120
121
122
# 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           = '',

  Boolean $manage                  = $::psick::manage,
  Boolean $noop_manage             = $::psick::noop_manage,
  Boolean $noop_value              = $::psick::noop_value,
) {
  if $manage {
    if $noop_manage {
      noop($noop_value)
    }
    # Options hash is shared across all the single packages setups
    $options=lookup('psick::mongo::mms::options', Hash, 'deep', { })
    $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=lookup('psick::mongo::mms::monitoring_agent_settings', Hash, 'deep', { })
      $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=lookup('psick::mongo::mms::backup_agent_settings', Hash, 'deep', { })
      $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=lookup('psick::mongo::mms::automation_agent_settings', Hash, 'deep' , { })
      $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=lookup('psick::mongo::mms::master_settings', Hash, 'deep', { })
      $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,
        }
      }
    }
  }
}