push out pubsub library
[mirror/dsa-puppet.git] / modules / roles / manifests / pubsub / entities.pp
index 9981962..5248bbc 100644 (file)
@@ -16,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,
@@ -59,6 +60,16 @@ class roles::pubsub::entities {
                provider => 'rabbitmqctl',
        }
 
+       rabbitmq_user { 'pet-devel':
+               admin    => false,
+               password => $pet_password,
+               provider => 'rabbitmqctl',
+       }
+
+       $do_hosts = keys($site::localinfo)
+
+       rabbitmq::autouser { $do_hosts: }
+
        rabbitmq_vhost { 'packages':
                ensure   => present,
                provider => 'rabbitmqctl',
@@ -74,6 +85,11 @@ class roles::pubsub::entities {
                provider => 'rabbitmqctl',
        }
 
+       rabbitmq_vhost { 'pet':
+               ensure   => present,
+               provider => 'rabbitmqctl',
+       }
+
        rabbitmq_user_permissions { 'admin@/':
                configure_permission => '.*',
                read_permission      => '.*',
@@ -115,6 +131,17 @@ class roles::pubsub::entities {
                ]
        }
 
+       rabbitmq_user_permissions { 'admin@pet':
+               configure_permission => '.*',
+               read_permission      => '.*',
+               write_permission     => '.*',
+               provider             => 'rabbitmqctl',
+               require              => [
+                       Rabbitmq_user['admin'],
+                       Rabbitmq_vhost['pet']
+               ]
+       }
+
        rabbitmq_user_permissions { 'ftpteam@packages':
                configure_permission => '.*',
                read_permission      => '.*',
@@ -169,25 +196,14 @@ class roles::pubsub::entities {
                ]
        }
 
-       rabbitmq_user_permissions { 'mailly@dsa':
-               configure_permission => '.*',
-               read_permission      => '.*',
-               write_permission     => '.*',
-               provider             => 'rabbitmqctl',
-               require              => [
-                       Rabbitmq_user['mailly'],
-                       Rabbitmq_vhost['dsa']
-               ]
-       }
-
-       rabbitmq_user_permissions { 'muffat@dsa':
+       rabbitmq_user_permissions { 'pet-devel@pet':
                configure_permission => '.*',
                read_permission      => '.*',
                write_permission     => '.*',
                provider             => 'rabbitmqctl',
                require              => [
-                       Rabbitmq_user['muffat'],
-                       Rabbitmq_vhost['dsa']
+                       Rabbitmq_user['pet-devel'],
+                       Rabbitmq_vhost['pet']
                ]
        }
 
@@ -212,6 +228,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',