pubsub: do not hardcode IPs
[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                 $other = join(getfromhash($deprecated::allnodeinfo, "${cc_secondary}.debian.org", 'ipHostNumber'), " ")
40         } else {
41                 $other = join(getfromhash($deprecated::allnodeinfo, "${cc_master}.debian.org", 'ipHostNumber'), " ")
42         }
43
44         ferm::rule { 'rabbitmq_cluster':
45                 domain      => '(ip ip6)',
46                 description => 'rabbitmq cluster connections',
47                 rule        => "proto tcp mod state state (NEW) saddr (${other}) ACCEPT"
48         }
49 }