]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/roles/manifests/pubsub.pp
refactor
[dsa-puppet.git] / modules / roles / manifests / pubsub.pp
index 6f93567d8166e40efa1d78b5d491af786e16e357..2f02be0d329403e57da2d2c08f3f41bc9ce8f533 100644 (file)
@@ -1,11 +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
-       $ftp_password   = $roles::pubsub::params::ftp_password
-       $cc_master      = rainier
-       $cc_secondary   = rapoport
+       $cluster_cookie  = $roles::pubsub::params::cluster_cookie
+
+       $cc_master       = rainier
+       $cc_secondary    = rapoport
 
        class { 'rabbitmq':
                cluster           => true,
@@ -28,58 +28,10 @@ class roles::pubsub {
                source => 'puppet:///modules/roles/pubsub/rabbitmq.config'
        }
 
-       rabbitmq_user { 'admin':
-               admin    => true,
-               password => $admin_password,
-               provider => 'rabbitmqctl',
-       }
-
-       rabbitmq_user { 'ftpteam':
-               admin    => true,
-               password => $ftp_password,
-               provider => 'rabbitmqctl',
-       }
-
-       rabbitmq_vhost { 'packages':
-               ensure   => present,
-               provider => 'rabbitmqctl',
-       }
-
-       rabbitmq_user_permissions { 'admin@packages':
-               configure_permission => '.*',
-               read_permission      => '.*',
-               write_permission     => '.*',
-               provider             => 'rabbitmqctl',
-               require              => [
-                       Rabbitmq_user['admin'],
-                       Rabbitmq_vhost['packages']
-               ]
-       }
-
-       rabbitmq_user_permissions { 'admin@/':
-               configure_permission => '.*',
-               read_permission      => '.*',
-               write_permission     => '.*',
-               provider             => 'rabbitmqctl',
-               require              => Rabbitmq_user['admin']
-       }
-
-       rabbitmq_user_permissions { 'ftpteam@packages':
-               configure_permission => '.*',
-               read_permission      => '.*',
-               write_permission     => '.*',
-               provider             => 'rabbitmqctl',
-               require              => [
-                       Rabbitmq_user['ftpteam'],
-                       Rabbitmq_vhost['packages']
-               ]
-       }
-
-       rabbitmq_policy { 'mirror-packages':
-               vhost   => 'packages',
-               match   => '*',
-               policy  => '{"ha-mode":"all"}',
-               require => Rabbitmq_vhost['packages']
+       concat::fragment { 'rabbit_mgmt_ssl':
+               target => '/etc/rabbitmq/rabbitmq.config',
+               order  => 55,
+               source => 'puppet:///modules/roles/pubsub/rabbitmq-mgmt.config'
        }
 
        @ferm::rule { 'rabbitmq':
@@ -93,6 +45,17 @@ class roles::pubsub {
                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 {
@@ -104,4 +67,13 @@ class roles::pubsub {
                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)'
+       }
 }