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)
  • manage_packages (Any) (defaults to: true)
  • version (Any) (defaults to: 'present')
  • ruby_stomp_ensure (Any) (defaults to: 'installed')
  • confdir (Any) (defaults to: $mcollective::defaults::confdir)
  • 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: undef)
  • yaml_fact_cron (Any) (defaults to: true)
  • fact_cron_splay (Any) (defaults to: false)
  • 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)
  • identity (Any) (defaults to: $fqdn)
  • 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_ssl_cert (Any) (defaults to: undef)
  • middleware_ssl_key (Any) (defaults to: undef)
  • middleware_ssl_ca (Any) (defaults to: undef)
  • middleware_admin_user (Any) (defaults to: 'admin')
  • middleware_admin_password (Any) (defaults to: 'secret')
  • middleware_heartbeat_interval (Any) (defaults to: '30')
  • rabbitmq_vhost (Any) (defaults to: '/mcollective')
  • common_package (Any) (defaults to: 'mcollective-common')
  • server_config_file (Any) (defaults to: undef)
  • server_logfile (Any) (defaults to: '/var/log/mcollective.log')
  • server_loglevel (Any) (defaults to: 'info')
  • server_daemonize (Any) (defaults to: $mcollective::defaults::server_daemonize)
  • service_name (Any) (defaults to: 'mcollective')
  • service_ensure (Any) (defaults to: 'running')
  • service_enable (Any) (defaults to: true)
  • server_package (Any) (defaults to: 'mcollective')
  • ruby_stomp_package (Any) (defaults to: 'ruby-stomp')
  • ruby_interpreter (Any) (defaults to: $mcollective::defaults::ruby_interpreter)
  • client_config_file (Any) (defaults to: undef)
  • client_logger_type (Any) (defaults to: 'console')
  • client_loglevel (Any) (defaults to: 'warn')
  • client_package (Any) (defaults to: 'mcollective-client')
  • 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')
  • ssl_client_certs_dir (Any) (defaults to: undef)
  • ssl_mco_autokeys (Any) (defaults to: false)
  • ssl_ciphers (Any) (defaults to: undef)
  • allowunconfigured (Any) (defaults to: '1')


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

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

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

  # core configuration
  $confdir          = $mcollective::defaults::confdir,
  $main_collective  = 'mcollective',
  $collectives      = 'mcollective',
  $connector        = 'activemq',
  $securityprovider = 'psk',
  $psk              = 'changemeplease',
  $factsource       = 'yaml',
  $yaml_fact_path   = undef,
  $yaml_fact_cron   = true,
  $fact_cron_splay  = false,
  $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,
  $identity         = $fqdn,

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

  # middleware connector tweaking
  $rabbitmq_vhost = '/mcollective',

  # common
  $common_package = 'mcollective-common',

  # server-specific
  $server_config_file = undef, # default dependent on $confdir
  $server_logfile     = '/var/log/mcollective.log',
  $server_loglevel    = 'info',
  $server_daemonize   = $mcollective::defaults::server_daemonize,
  $service_name       = 'mcollective',
  $service_ensure     = 'running',
  $service_enable     = true,
  $server_package     = 'mcollective',
  $ruby_stomp_package = 'ruby-stomp',
  $ruby_interpreter   = $mcollective::defaults::ruby_interpreter,

  # client-specific
  $client_config_file  = undef, # default dependent on $confdir
  $client_logger_type  = 'console',
  $client_loglevel     = 'warn',
  $client_package      = 'mcollective-client',

  # ssl certs
  $ssl_ca_cert          = undef,
  $ssl_server_public    = undef,
  $ssl_server_private   = undef,
  $ssl_client_certs     = 'puppet:///modules/mcollective/empty',
  $ssl_client_certs_dir = undef, # default dependent on $confdir
  $ssl_mco_autokeys     = false,

  # ssl ciphers
  $ssl_ciphers = undef,

  # Action policy settings
  $allowunconfigured    = '1',
) inherits mcollective::defaults {

  # Because the correct default value for several parameters is based on another
  # configurable parameter, it cannot be set in the parameter defaults above and
  # _real variables must be set here.
  $yaml_fact_path_real = pick_default($yaml_fact_path, "${confdir}/facts.yaml")
  $server_config_file_real = pick_default($server_config_file, "${confdir}/server.cfg")
  $client_config_file_real = pick_default($client_config_file, "${confdir}/client.cfg")

  $ssldir = "${confdir}/ssl"

  $ssl_client_certs_dir_real = pick_default($ssl_client_certs_dir, "${ssldir}/clients")
  $ssl_server_public_path    = "${ssldir}/server_public.pem"
  $ssl_server_private_path   = "${ssldir}/server_private.pem"

  $middleware_ssl_ca_real   = pick_default($middleware_ssl_ca, $ssl_ca_cert)
  $middleware_ssl_cert_real = pick_default($middleware_ssl_cert, $ssl_server_public)
  $middleware_ssl_key_real  = pick_default($middleware_ssl_key, $ssl_server_private)

  $middleware_ssl_key_path  = "${ssldir}/middleware_key.pem"
  $middleware_ssl_cert_path = "${ssldir}/middleware_cert.pem"
  $middleware_ssl_ca_path   = "${ssldir}/middleware_ca.pem"

  if $client or $server {
    contain mcollective::common
  }
  if $client {
    contain mcollective::client
  }
  if $server {
    contain mcollective::server
  }
}