pubsub: merge IPv4 and IPv6 rules in a single rule
[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                 domain      => '(ip ip6)',
35                 rule        => '&SERVICE_RANGE(tcp, 5671, $HOST_DEBIAN)'
36         }
37
38         if $::hostname == $cc_master {
39                 $you  = '82.195.75.95'
40                 $you6 = '2001:41b8:202:deb::311:95'
41         } else {
42                 $you  = '82.195.75.94'
43                 $you6 = '2001:41b8:202:deb::311:94'
44         }
45
46         ferm::rule { 'rabbitmq_cluster':
47                 domain      => 'ip',
48                 description => 'rabbitmq cluster connections',
49                 rule        => "proto tcp mod state state (NEW) saddr (${you}) ACCEPT"
50         }
51         ferm::rule { 'rabbitmq_cluster_v6':
52                 domain      => 'ip6',
53                 description => 'rabbitmq cluster connections',
54                 rule        => "proto tcp mod state state (NEW) saddr (${you6}) ACCEPT"
55         }
56 }