X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fpubsub.pp;h=86b5807a4567efb30678d8c2653e5238673e397f;hb=eeab194fb2334a6e1f9f084cba107e9cf40aa8f7;hp=b48097e0dafc094a3d7fa77e027da00abeb47445;hpb=29ce6770a6757e8ea59ad7a9bb37c0cb441d3428;p=dsa-puppet.git diff --git a/modules/roles/manifests/pubsub.pp b/modules/roles/manifests/pubsub.pp index b48097e0..86b5807a 100644 --- a/modules/roles/manifests/pubsub.pp +++ b/modules/roles/manifests/pubsub.pp @@ -1,2 +1,81 @@ class roles::pubsub { + include roles::pubsub::params + include roles::pubsub::entities + + $cluster_cookie = $roles::pubsub::params::cluster_cookie + + $cc_master = rainier + $cc_secondary = rapoport + + class { 'rabbitmq': + config_cluster => true, + cluster_nodes => [ + "rabbit@${cc_master}", + "rabbit@${cc_secondary}", + ], + cluster_node_type => 'disc', + erlang_cookie => '8r17so6o1s124ns49sr08n0o24342160', + delete_guest_user => true, + tcp_keepalive => true, + ssl_only => true, + ssl => true, + ssl_cacert => '/etc/ssl/debian/certs/ca.crt', + ssl_cert => '/etc/ssl/debian/certs/thishost-server.crt', + ssl_key => '/etc/ssl/debian/keys/thishost-server.key', + manage_repo => false, + } + + user { 'rabbitmq': + groups => 'ssl-cert' + } + + @ferm::rule { 'rabbitmq': + description => 'rabbitmq connections', + rule => '&SERVICE_RANGE(tcp, 5671, $HOST_DEBIAN_V4)' + } + + @ferm::rule { 'rabbitmq-v6': + domain => 'ip6', + description => 'rabbitmq connections', + rule => '&SERVICE_RANGE(tcp, 5671, $HOST_DEBIAN_V6)' + } + + @ferm::rule { 'rabbitmq-adm': + description => 'rabbitmq connections', + rule => '&SERVICE_RANGE(tcp, 5671, $DSA_IPS)' + } + + @ferm::rule { 'rabbitmq-v6-adm': + domain => 'ip6', + description => 'rabbitmq connections', + rule => '&SERVICE_RANGE(tcp, 5671, $DSA_V6_IPS)' + } + + if $::hostname == $cc_master { + $you = '5.153.231.15' + $you6 = '2001:41c8:1000:21::21:15' + } else { + $you = '5.153.231.16' + $you6 = '2001:41c8:1000:21::21:16' + } + + @ferm::rule { 'rabbitmq_cluster': + domain => 'ip', + description => 'rabbitmq cluster connections', + rule => "proto tcp mod state state (NEW) saddr (${you}) ACCEPT" + } + @ferm::rule { 'rabbitmq_cluster_v6': + domain => 'ip6', + description => 'rabbitmq cluster connections', + rule => "proto tcp mod state state (NEW) saddr (${you6}) ACCEPT" + } + @ferm::rule { 'rabbitmq_mgmt': + description => 'rabbitmq cluster connections', + rule => '&SERVICE_RANGE(tcp, 15672, $DSA_IPS)' + } + @ferm::rule { 'rabbitmq_mgmt_v6': + domain => '(ip6)', + description => 'rabbitmq cluster connections', + rule => '&SERVICE_RANGE(tcp, 15672, $DSA_V6_IPS)' + } }