]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/manifests/pubsub.pp
move to puppetlabs rabbitmq module
[dsa-puppet.git] / modules / roles / manifests / pubsub.pp
1 class roles::pubsub {
2         include roles::pubsub::params
3         include roles::pubsub::entities
4
5         $cluster_cookie  = $roles::pubsub::params::cluster_cookie
6
7         $cc_master       = rainier
8         $cc_secondary    = rapoport
9
10         class { 'rabbitmq':
11                 config_cluster    => true,
12                 cluster_nodes     => [
13                         "rabbit@${cc_master}",
14                         "rabbit@${cc_secondary}",
15                 ],
16                 cluster_node_type => 'disc',
17                 erlang_cookie     => '8r17so6o1s124ns49sr08n0o24342160',
18                 delete_guest_user => true,
19                 tcp_keepalive     => true,
20                 ssl_only          => true,
21                 ssl               => true,
22                 ssl_cacert        => '/etc/ssl/debian/certs/ca.crt',
23                 ssl_cert          => '/etc/ssl/debian/certs/thishost-server.crt',
24                 ssl_key           => '/etc/ssl/debian/keys/thishost-server.key',
25                 manage_repo       => false,
26         }
27
28         user { 'rabbitmq':
29                 groups => 'ssl-cert'
30         }
31
32         @ferm::rule { 'rabbitmq':
33                 description => 'rabbitmq connections',
34                 rule        => '&SERVICE_RANGE(tcp, 5671, $HOST_DEBIAN_V4)'
35         }
36
37         @ferm::rule { 'rabbitmq-v6':
38                 domain      => 'ip6',
39                 description => 'rabbitmq connections',
40                 rule        => '&SERVICE_RANGE(tcp, 5671, $HOST_DEBIAN_V6)'
41         }
42
43         @ferm::rule { 'rabbitmq-adm':
44                 description => 'rabbitmq connections',
45                 rule        => '&SERVICE_RANGE(tcp, 5671, $DSA_IPS)'
46         }
47
48         @ferm::rule { 'rabbitmq-v6-adm':
49                 domain      => 'ip6',
50                 description => 'rabbitmq connections',
51                 rule        => '&SERVICE_RANGE(tcp, 5671, $DSA_V6_IPS)'
52         }
53
54         if $::hostname == $cc_master {
55                 $you  = '5.153.231.15'
56                 $you6 = '2001:41c8:1000:21::21:15'
57         } else {
58                 $you  = '5.153.231.16'
59                 $you6 = '2001:41c8:1000:21::21:16'
60         }
61
62         @ferm::rule { 'rabbitmq_cluster':
63                 domain      => 'ip',
64                 description => 'rabbitmq cluster connections',
65                 rule        => "proto tcp mod state state (NEW) saddr (${you}) ACCEPT"
66         }
67         @ferm::rule { 'rabbitmq_cluster_v6':
68                 domain      => 'ip6',
69                 description => 'rabbitmq cluster connections',
70                 rule        => "proto tcp mod state state (NEW) saddr (${you6}) ACCEPT"
71         }
72         @ferm::rule { 'rabbitmq_mgmt':
73                 description => 'rabbitmq cluster connections',
74                 rule        => '&SERVICE_RANGE(tcp, 15672, $DSA_IPS)'
75         }
76         @ferm::rule { 'rabbitmq_mgmt_v6':
77                 domain      => '(ip6)',
78                 description => 'rabbitmq cluster connections',
79                 rule        => '&SERVICE_RANGE(tcp, 15672, $DSA_V6_IPS)'
80         }
81 }