Puppet Class: mcollective::middleware::rabbitmq

Defined in:
manifests/middleware/rabbitmq.pp

Overview



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

class mcollective::middleware::rabbitmq {
  if $caller_module_name != $module_name {
    fail("Use of private class ${name} by ${caller_module_name}")
  }

  if $mcollective::middleware_ssl {
    file { "${mcollective::rabbitmq_confdir}/ca.pem":
      owner  => 'rabbitmq',
      group  => 'rabbitmq',
      mode   => '0444',
      source => $mcollective::ssl_ca_cert,
    }

    file { "${mcollective::rabbitmq_confdir}/server_public.pem":
      owner  => 'rabbitmq',
      group  => 'rabbitmq',
      mode   => '0444',
      source => $mcollective::ssl_server_public,
    }

    file { "${mcollective::rabbitmq_confdir}/server_private.pem":
      owner  => 'rabbitmq',
      group  => 'rabbitmq',
      mode   => '0400',
      source => $mcollective::ssl_server_private,
    }
  }

  anchor { 'mcollective::middleware::rabbitmq::start': }
  class { '::rabbitmq':
    config_stomp      => true,
    delete_guest_user => $mcollective::delete_guest_user,
    ssl               => $mcollective::middleware_ssl,
    stomp_port        => $mcollective::middleware_port,
    ssl_stomp_port    => $mcollective::middleware_ssl_port,
    ssl_cacert        => "${mcollective::rabbitmq_confdir}/ca.pem",
    ssl_cert          => "${mcollective::rabbitmq_confdir}/server_public.pem",
    ssl_key           => "${mcollective::rabbitmq_confdir}/server_private.pem",
  } ->

  rabbitmq_plugin { 'rabbitmq_stomp':
    ensure => present,
  } ->

  rabbitmq_vhost { $mcollective::rabbitmq_vhost:
    ensure => present,
  } ->

  rabbitmq_user { $mcollective::middleware_user:
    ensure   => present,
    admin    => false,
    password => $mcollective::middleware_password,
  } ->

  rabbitmq_user { $mcollective::middleware_admin_user:
    ensure   => present,
    admin    => true,
    password => $mcollective::middleware_admin_password,
  } ->

  rabbitmq_user_permissions { "${mcollective::middleware_user}@${mcollective::rabbitmq_vhost}":
    configure_permission => '.*',
    read_permission      => '.*',
    write_permission     => '.*',
  } ->

  rabbitmq_user_permissions { "${mcollective::middleware_admin_user}@${mcollective::rabbitmq_vhost}":
    configure_permission => '.*',
  } ->

  rabbitmq_exchange { "mcollective_broadcast@${mcollective::rabbitmq_vhost}":
    ensure   => present,
    type     => 'topic',
    user     => $mcollective::middleware_admin_user,
    password => $mcollective::middleware_admin_password,
  } ->

  rabbitmq_exchange { "mcollective_directed@${mcollective::rabbitmq_vhost}":
    ensure   => present,
    type     => 'direct',
    user     => $mcollective::middleware_admin_user,
    password => $mcollective::middleware_admin_password,
  } ->

  anchor { 'mcollective::middleware::rabbitmq::end': }
}