]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/roles/manifests/pubsub.pp
regex, not glob
[dsa-puppet.git] / modules / roles / manifests / pubsub.pp
index 61a93bf3f831617318331d9b06ad8c1f9314310d..1ebd2ea601cd8843d7e9566da5afb84e09acd486 100644 (file)
@@ -3,6 +3,7 @@ class roles::pubsub {
 
        $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
 
@@ -17,12 +18,28 @@ class roles::pubsub {
                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'
+       }
+
        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',
@@ -47,15 +64,33 @@ class roles::pubsub {
                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']
+       }
+
        @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)'
        }
 
        if $::hostname == $cc_master {