]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/roles/manifests/pubsub.pp
add management modules and rules
[dsa-puppet.git] / modules / roles / manifests / pubsub.pp
index e8eb2296de942027e55402f19893fbd66b72b3e4..2b4abf9448d51d36643b1603746cdee4114835a3 100644 (file)
@@ -18,6 +18,16 @@ 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,
@@ -65,15 +75,47 @@ class roles::pubsub {
                ]
        }
 
+       rabbitmq_policy { 'mirror-packages':
+               vhost   => 'packages',
+               match   => '.*',
+               policy  => '{"ha-mode":"all"}',
+               require => Rabbitmq_vhost['packages']
+       }
+
+       rabbitmq_plugin { 'rabbitmq_management':
+               ensure   => present,
+               provider => 'rabbitmqplugins',
+               require  => Package['rabbitmq-server'],
+               notify   => Service['rabbitmq-server']
+       }
+       rabbitmq_plugin { 'rabbitmq_management_agent':
+               ensure   => present,
+               provider => 'rabbitmqplugins',
+               require  => Package['rabbitmq-server'],
+               notify   => Service['rabbitmq-server']
+       }
+       rabbitmq_plugin { 'rabbitmq_tracing':
+               ensure   => present,
+               provider => 'rabbitmqplugins',
+               require  => Package['rabbitmq-server'],
+               notify   => Service['rabbitmq-server']
+       }
+       rabbitmq_plugin { 'rabbitmq_management_visualiser':
+               ensure   => present,
+               provider => 'rabbitmqplugins',
+               require  => Package['rabbitmq-server'],
+               notify   => Service['rabbitmq-server']
+       }
+
        @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 {
@@ -87,4 +129,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)'
+       }
 }