Use export/collect to get the intra-cluster firewall opened for pubsub
[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   @@ferm::rule::simple { "pubsub-cluster-from-${::fqdn}":
39     tag   => 'roles::pubsub::intra-cluster',
40     saddr => $base::public_addresses,
41   }
42   Ferm::Rule::Simple <<| tag == 'roles::pubsub::intra-cluster' |>>
43 }