X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Froles%2Fmanifests%2Fpubsub.pp;h=8ebe3e70b52585163f2eb77da3dbb63319cb7ec4;hb=91a72d82de7cdaee0e33b49e870bf3be10adf7db;hp=a43423efe109c05ba39654e8bb8e24672f7b6d7d;hpb=6fd98e708bc9828d8d860eb32745b1cbd51ec445;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/pubsub.pp b/modules/roles/manifests/pubsub.pp index a43423efe..8ebe3e70b 100644 --- a/modules/roles/manifests/pubsub.pp +++ b/modules/roles/manifests/pubsub.pp @@ -1,10 +1,11 @@ class roles::pubsub { include roles::pubsub::params + include roles::pubsub::entities - $cluster_cookie = $roles::pubsub::params::cluster_cookie - $admin_password = $roles::pubsub::params::admin_password - $cc_master = rainier - $cc_secondary = rapoport + $cluster_cookie = $roles::pubsub::params::cluster_cookie + + $cc_master = rainier + $cc_secondary = rapoport class { 'rabbitmq': cluster => true, @@ -17,44 +18,69 @@ class roles::pubsub { master => $cc_master, } - rabbitmq_user { 'admin': - admin => true, - password => $admin_password, - provider => 'rabbitmqctl', - } - - rabbitmq_vhost { 'packages': - ensure => present, - provider => 'rabbitmqctl', + user { 'rabbitmq': + groups => 'ssl-cert' } - rabbitmq_user_permissions { 'admin@packages': - configure_permission => '.*', - read_permission => '.*', - write_permission => '.*', - provider => 'rabbitmqctl', - require => [ - Rabbitmq_user['admin'], - Rabbitmq_vhost['packages'] - ] + concat::fragment { 'rabbit_ssl': + target => '/etc/rabbitmq/rabbitmq.config', + order => 35, + source => 'puppet:///modules/roles/pubsub/rabbitmq.config' } - rabbitmq_user_permissions { 'admin@/': - configure_permission => '.*', - read_permission => '.*', - write_permission => '.*', - provider => 'rabbitmqctl', - require => Rabbitmq_user['admin'] + 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, 5672, $HOST_DEBIAN_V4)' + rule => '&SERVICE_RANGE(tcp, 5671, $HOST_DEBIAN_V4)' } @ferm::rule { 'rabbitmq-v6': domain => 'ip6', description => 'rabbitmq connections', - rule => '&SERVICE_RANGE(tcp, 5672, $HOST_DEBIAN_V6)' + 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)' } }