0a6e72cecf3c86828997d26d513791ae4c4dd447
[mirror/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                         $cc_master,
14                         $cc_secondary,
15                 ],
16                 cluster_node_type => 'disc',
17                 erlang_cookie     => '8r17so6o1s124ns49sr08n0o24342160',
18                 delete_guest_user => true,
19                 ssl               => true,
20                 ssl_cacert        => '/etc/ssl/debian/certs/ca.crt',
21                 ssl_cert          => '/etc/ssl/debian/certs/thishost-server.crt',
22                 ssl_key           => '/etc/ssl/private/thishost-server.key',
23                 ssl_port          => 5671,
24                 ssl_verify        => 'verify_none',
25                 repos_ensure      => 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         if $::hostname == $cc_master {
44                 $you  = '82.195.75.95'
45                 $you6 = '2001:41b8:202:deb::311:95'
46         } else {
47                 $you  = '82.195.75.94'
48                 $you6 = '2001:41b8:202:deb::311:94'
49         }
50
51         ferm::rule { 'rabbitmq_cluster':
52                 domain      => 'ip',
53                 description => 'rabbitmq cluster connections',
54                 rule        => "proto tcp mod state state (NEW) saddr (${you}) ACCEPT"
55         }
56         ferm::rule { 'rabbitmq_cluster_v6':
57                 domain      => 'ip6',
58                 description => 'rabbitmq cluster connections',
59                 rule        => "proto tcp mod state state (NEW) saddr (${you6}) ACCEPT"
60         }
61 }