Puppet Class: mcollective

Inherits:
mcollective::defaults
Defined in:
manifests/init.pp

Overview

Class - mcollective

Parameters:

  • server (Any) (defaults to: true)
  • client (Any) (defaults to: false)
  • middleware (Any) (defaults to: false)
  • activemq_template (Any) (defaults to: 'mcollective/activemq.xml.erb')
  • activemq_memoryUsage (Any) (defaults to: '20 mb')
  • activemq_storeUsage (Any) (defaults to: '1 gb')
  • activemq_tempUsage (Any) (defaults to: '100 mb')
  • activemq_console (Any) (defaults to: false)
  • activemq_config (Any) (defaults to: undef)
  • activemq_confdir (Any) (defaults to: $mcollective::defaults::activemq_confdir)
  • rabbitmq_confdir (Any) (defaults to: '/etc/rabbitmq')
  • rabbitmq_vhost (Any) (defaults to: '/mcollective')
  • delete_guest_user (Any) (defaults to: false)
  • manage_packages (Any) (defaults to: true)
  • version (Any) (defaults to: 'present')
  • ruby_stomp_ensure (Any) (defaults to: 'installed')
  • main_collective (Any) (defaults to: 'mcollective')
  • collectives (Any) (defaults to: 'mcollective')
  • connector (Any) (defaults to: 'activemq')
  • securityprovider (Any) (defaults to: 'psk')
  • psk (Any) (defaults to: 'changemeplease')
  • factsource (Any) (defaults to: 'yaml')
  • yaml_fact_path (Any) (defaults to: '/etc/mcollective/facts.yaml')
  • excluded_facts (Any) (defaults to: [])
  • classesfile (Any) (defaults to: '/var/lib/puppet/state/classes.txt')
  • rpcauthprovider (Any) (defaults to: 'action_policy')
  • rpcauditprovider (Any) (defaults to: 'logfile')
  • registration (Any) (defaults to: undef)
  • core_libdir (Any) (defaults to: $mcollective::defaults::core_libdir)
  • site_libdir (Any) (defaults to: $mcollective::defaults::site_libdir)
  • middleware_hosts (Any) (defaults to: [])
  • middleware_user (Any) (defaults to: 'mcollective')
  • middleware_password (Any) (defaults to: 'marionette')
  • middleware_port (Any) (defaults to: '61613')
  • middleware_ssl_port (Any) (defaults to: '61614')
  • middleware_ssl (Any) (defaults to: false)
  • middleware_ssl_fallback (Any) (defaults to: false)
  • middleware_admin_user (Any) (defaults to: 'admin')
  • middleware_admin_password (Any) (defaults to: 'secret')
  • server_config_file (Any) (defaults to: '/etc/mcollective/server.cfg')
  • server_logfile (Any) (defaults to: '/var/log/mcollective.log')
  • server_loglevel (Any) (defaults to: 'info')
  • server_daemonize (Any) (defaults to: 1)
  • client_config_file (Any) (defaults to: '/etc/mcollective/client.cfg')
  • client_logger_type (Any) (defaults to: 'console')
  • client_loglevel (Any) (defaults to: 'warn')
  • ssl_ca_cert (Any) (defaults to: undef)
  • ssl_server_public (Any) (defaults to: undef)
  • ssl_server_private (Any) (defaults to: undef)
  • ssl_client_certs (Any) (defaults to: 'puppet:///modules/mcollective/empty')


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
# File 'manifests/init.pp', line 2

class mcollective (
  # which subcomponents to install here
  $server = true,
  $client = false,
  $middleware = false,

  # middleware tweaking
  $activemq_template = 'mcollective/activemq.xml.erb',
  $activemq_memoryUsage = '20 mb',
  $activemq_storeUsage = '1 gb',
  $activemq_tempUsage = '100 mb',
  $activemq_console = false, # ubuntu why you no jetty.xml!
  $activemq_config = undef,
  $activemq_confdir = $mcollective::defaults::activemq_confdir,
  $rabbitmq_confdir = '/etc/rabbitmq',
  $rabbitmq_vhost = '/mcollective', # used by rabbitmq
  $delete_guest_user = false,

  # installing packages
  $manage_packages = true,
  $version = 'present',
  $ruby_stomp_ensure = 'installed',

  # core configuration
  $main_collective = 'mcollective',
  $collectives = 'mcollective',
  $connector = 'activemq',
  $securityprovider = 'psk',
  $psk = 'changemeplease',
  $factsource = 'yaml',
  $yaml_fact_path = '/etc/mcollective/facts.yaml',
  $excluded_facts = [],
  $classesfile = '/var/lib/puppet/state/classes.txt',
  $rpcauthprovider = 'action_policy',
  $rpcauditprovider = 'logfile',
  $registration = undef,
  $core_libdir = $mcollective::defaults::core_libdir,
  $site_libdir = $mcollective::defaults::site_libdir,

  # networking
  $middleware_hosts = [],
  $middleware_user = 'mcollective',
  $middleware_password = 'marionette',
  $middleware_port = '61613',
  $middleware_ssl_port = '61614',
  $middleware_ssl = false,
  $middleware_ssl_fallback = false,
  $middleware_admin_user = 'admin',
  $middleware_admin_password = 'secret',

  # server-specific
  $server_config_file = '/etc/mcollective/server.cfg',
  $server_logfile   = '/var/log/mcollective.log',
  $server_loglevel  = 'info',
  $server_daemonize = 1,

  # client-specific
  $client_config_file = '/etc/mcollective/client.cfg',
  $client_logger_type = 'console',
  $client_loglevel = 'warn',

  # ssl certs
  $ssl_ca_cert = undef,
  $ssl_server_public = undef,
  $ssl_server_private = undef,
  $ssl_client_certs = 'puppet:///modules/mcollective/empty',
) inherits mcollective::defaults {
  anchor { 'mcollective::begin': }
  anchor { 'mcollective::end': }

  validate_string($activemq_memoryUsage)
  validate_re($activemq_memoryUsage, '^[0-9]+ [kmg]b$')
  validate_string($activemq_storeUsage)
  validate_re($activemq_storeUsage, '^[0-9]+ [kmg]b$')
  validate_string($activemq_tempUsage)
  validate_re($activemq_tempUsage, '^[0-9]+ [kmg]b$')

  if $client or $server {
    # We don't want this on middleware roles.
    Anchor['mcollective::begin'] ->
    class { '::mcollective::common': } ->
    Anchor['mcollective::end']
  }
  if $client {
    Anchor['mcollective::begin'] ->
    class { '::mcollective::client': } ->
    Anchor['mcollective::end']
  }
  if $server {
    Anchor['mcollective::begin'] ->
    class { '::mcollective::server': } ->
    Anchor['mcollective::end']
  }
  if $middleware {
    Anchor['mcollective::begin'] ->
    class { '::mcollective::middleware': } ->
    Anchor['mcollective::end']
  }
}