X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fpubsub.pp;h=2f02be0d329403e57da2d2c08f3f41bc9ce8f533;hb=e32a215b684c64e051ba9aa0c679bee15e48e58f;hp=b48097e0dafc094a3d7fa77e027da00abeb47445;hpb=29ce6770a6757e8ea59ad7a9bb37c0cb441d3428;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/pubsub.pp b/modules/roles/manifests/pubsub.pp index b48097e0d..2f02be0d3 100644 --- a/modules/roles/manifests/pubsub.pp +++ b/modules/roles/manifests/pubsub.pp @@ -1,2 +1,79 @@ 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': + cluster => true, + clustermembers => [ + "rabbit@${cc_master}", + "rabbit@${cc_secondary}", + ], + clustercookie => '8r17so6o1s124ns49sr08n0o24342160', + delete_guest_user => true, + master => $cc_master, + } + + user { 'rabbitmq': + groups => 'ssl-cert' + } + + concat::fragment { 'rabbit_ssl': + target => '/etc/rabbitmq/rabbitmq.config', + order => 35, + source => 'puppet:///modules/roles/pubsub/rabbitmq.config' + } + + concat::fragment { 'rabbit_mgmt_ssl': + target => '/etc/rabbitmq/rabbitmq.config', + order => 55, + source => 'puppet:///modules/roles/pubsub/rabbitmq-mgmt.config' + } + + @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 = $cc_secondary + } else { + $you = $cc_master + } + + @ferm::rule { 'rabbitmq_cluster': + domain => '(ip ip6)', + description => 'rabbitmq cluster connections', + rule => "proto tcp mod state state (NEW) saddr (${you}) 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)' + } }