]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/roles/manifests/pubsub/entities.pp
add pet vhost
[dsa-puppet.git] / modules / roles / manifests / pubsub / entities.pp
index d728612aac373234786cd0559954caea86bb106f..3d7d9cd5cdd90e6c7865a1d8f5e22a74d358e743 100644 (file)
@@ -1,3 +1,11 @@
+# = Class: roles::pubsub::entities
+#
+# MQ users, vhosts, policies, and permissions for pubsub hosts
+#
+# == Sample Usage:
+#
+#   include roles::pubsub::entities
+#
 class roles::pubsub::entities {
        include roles::pubsub::params
 
@@ -8,6 +16,7 @@ class roles::pubsub::entities {
        $mailadm_password = $roles::pubsub::params::mailadm_password
        $mailly_password  = $roles::pubsub::params::mailly_password
        $muffat_password  = $roles::pubsub::params::muffat_password
+       $pet_password     = $roles::pubsub::params::pet_password
 
        rabbitmq_user { 'admin':
                admin    => true,
@@ -16,41 +25,47 @@ class roles::pubsub::entities {
        }
 
        rabbitmq_user { 'ftpteam':
-               admin    => true,
+               admin    => false,
                password => $ftp_password,
                provider => 'rabbitmqctl',
        }
 
        rabbitmq_user { 'buildd':
-               admin    => true,
+               admin    => false,
                password => $buildd_password,
                provider => 'rabbitmqctl',
        }
 
        rabbitmq_user { 'wbadm':
-               admin    => true,
+               admin    => false,
                password => $wbadm_password,
                provider => 'rabbitmqctl',
        }
 
        rabbitmq_user { 'mailadm':
-               admin    => true,
+               admin    => false,
                password => $mailadm_password,
                provider => 'rabbitmqctl',
        }
 
        rabbitmq_user { 'mailly':
-               admin    => true,
+               admin    => false,
                password => $mailly_password,
                provider => 'rabbitmqctl',
        }
 
        rabbitmq_user { 'muffat':
-               admin    => true,
+               admin    => false,
                password => $muffat_password,
                provider => 'rabbitmqctl',
        }
 
+       rabbitmq_user { 'pet':
+               admin    => false,
+               password => $pet_password,
+               provider => 'rabbitmqctl',
+       }
+
        rabbitmq_vhost { 'packages':
                ensure   => present,
                provider => 'rabbitmqctl',
@@ -66,6 +81,11 @@ class roles::pubsub::entities {
                provider => 'rabbitmqctl',
        }
 
+       rabbitmq_vhost { 'pet':
+               ensure   => present,
+               provider => 'rabbitmqctl',
+       }
+
        rabbitmq_user_permissions { 'admin@/':
                configure_permission => '.*',
                read_permission      => '.*',
@@ -162,9 +182,9 @@ class roles::pubsub::entities {
        }
 
        rabbitmq_user_permissions { 'mailly@dsa':
-               configure_permission => '*',
-               read_permission      => '*',
-               write_permission     => '*',
+               configure_permission => '.*',
+               read_permission      => '.*',
+               write_permission     => '.*',
                provider             => 'rabbitmqctl',
                require              => [
                        Rabbitmq_user['mailly'],
@@ -173,9 +193,9 @@ class roles::pubsub::entities {
        }
 
        rabbitmq_user_permissions { 'muffat@dsa':
-               configure_permission => '*',
-               read_permission      => '*',
-               write_permission     => '*',
+               configure_permission => '.*',
+               read_permission      => '.*',
+               write_permission     => '.*',
                provider             => 'rabbitmqctl',
                require              => [
                        Rabbitmq_user['muffat'],
@@ -183,6 +203,17 @@ class roles::pubsub::entities {
                ]
        }
 
+       rabbitmq_user_permissions { 'pet@pet':
+               configure_permission => '.*',
+               read_permission      => '.*',
+               write_permission     => '.*',
+               provider             => 'rabbitmqctl',
+               require              => [
+                       Rabbitmq_user['pet'],
+                       Rabbitmq_vhost['pet']
+               ]
+       }
+
        rabbitmq_policy { 'mirror-dsa':
                vhost   => 'dsa',
                match   => '.*',
@@ -204,6 +235,13 @@ class roles::pubsub::entities {
                require => Rabbitmq_vhost['packages']
        }
 
+       rabbitmq_policy { 'mirror_pet':
+               vhost   => 'pet',
+               match   => '.*',
+               policy  => '{"ha-mode":"all"}',
+               require => Rabbitmq_vhost['pet']
+       }
+
        rabbitmq_plugin { 'rabbitmq_management':
                ensure   => present,
                provider => 'rabbitmqplugins',