X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fpubsub.pp;h=86b5807a4567efb30678d8c2653e5238673e397f;hb=eeab194fb2334a6e1f9f084cba107e9cf40aa8f7;hp=2aaad04f8c5399714f67fe48afbf9a6c21c48989;hpb=7436aec9b9feafca4eb1ec7f908d42ad1d83593c;p=dsa-puppet.git diff --git a/modules/roles/manifests/pubsub.pp b/modules/roles/manifests/pubsub.pp index 2aaad04f..86b5807a 100644 --- a/modules/roles/manifests/pubsub.pp +++ b/modules/roles/manifests/pubsub.pp @@ -1,181 +1,34 @@ 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 - $buildd_password = $roles::pubsub::params::buildd_password - $wbadm_password = $roles::pubsub::params::wbadm_password $cc_master = rainier $cc_secondary = rapoport class { 'rabbitmq': - cluster => true, - clustermembers => [ + config_cluster => true, + cluster_nodes => [ "rabbit@${cc_master}", "rabbit@${cc_secondary}", ], - clustercookie => '8r17so6o1s124ns49sr08n0o24342160', + cluster_node_type => 'disc', + erlang_cookie => '8r17so6o1s124ns49sr08n0o24342160', delete_guest_user => true, - master => $cc_master, + tcp_keepalive => true, + ssl_only => true, + ssl => true, + ssl_cacert => '/etc/ssl/debian/certs/ca.crt', + ssl_cert => '/etc/ssl/debian/certs/thishost-server.crt', + ssl_key => '/etc/ssl/debian/keys/thishost-server.key', + manage_repo => false, } 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_user { 'buildd': - admin => true, - password => $buildd_password, - provider => 'rabbitmqctl', - } - - rabbitmq_user { 'wbadm': - admin => true, - password => $wbadm_password, - provider => 'rabbitmqctl', - } - - rabbitmq_vhost { 'packages': - ensure => present, - provider => 'rabbitmqctl', - } - - rabbitmq_vhost { 'buildd': - ensure => present, - provider => 'rabbitmqctl', - } - - rabbitmq_user_permissions { 'admin@buildd': - configure_permission => '.*', - read_permission => '.*', - write_permission => '.*', - provider => 'rabbitmqctl', - require => [ - Rabbitmq_user['admin'], - Rabbitmq_vhost['buildd'] - ] - } - 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_user_permissions { 'wbadm@packages': - read_permission => 'unchecked', - write_permission => 'wbadm', - provider => 'rabbitmqctl', - require => [ - Rabbitmq_user['wbadm'], - Rabbitmq_vhost['packages'] - ] - } - - rabbitmq_user_permissions { 'buildd@buildd': - configure_permission => '.*', - read_permission => '.*', - write_permission => '.*', - provider => 'rabbitmqctl', - require => [ - Rabbitmq_user['buildd'], - Rabbitmq_vhost['buildd'] - ] - } - - rabbitmq_user_permissions { 'wbadm@buildd': - configure_permission => '.*', - read_permission => '.*', - write_permission => '.*', - provider => 'rabbitmqctl', - require => [ - Rabbitmq_user['wbadm'], - Rabbitmq_vhost['buildd'] - ] - } - - rabbitmq_policy { 'mirror-buildd': - vhost => 'buildd', - match => '.*', - policy => '{"ha-mode":"all"}', - require => Rabbitmq_vhost['buildd'] - } - - 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, 5671, $HOST_DEBIAN_V4)' @@ -187,17 +40,35 @@ 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 + $you = '5.153.231.15' + $you6 = '2001:41c8:1000:21::21:15' } else { - $you = $cc_master + $you = '5.153.231.16' + $you6 = '2001:41c8:1000:21::21:16' } @ferm::rule { 'rabbitmq_cluster': - domain => '(ip ip6)', + domain => 'ip', description => 'rabbitmq cluster connections', rule => "proto tcp mod state state (NEW) saddr (${you}) ACCEPT" } + @ferm::rule { 'rabbitmq_cluster_v6': + domain => 'ip6', + description => 'rabbitmq cluster connections', + rule => "proto tcp mod state state (NEW) saddr (${you6}) ACCEPT" + } @ferm::rule { 'rabbitmq_mgmt': description => 'rabbitmq cluster connections', rule => '&SERVICE_RANGE(tcp, 15672, $DSA_IPS)'