1 # = Class: roles::pubsub::entities
3 # MQ users, vhosts, policies, and permissions for pubsub hosts
7 # include roles::pubsub::entities
9 class roles::pubsub::entities {
10 include roles::pubsub::params
12 $admin_password = $roles::pubsub::params::admin_password
13 $ftp_password = $roles::pubsub::params::ftp_password
14 $buildd_password = $roles::pubsub::params::buildd_password
15 $wbadm_password = $roles::pubsub::params::wbadm_password
16 $mailadm_password = $roles::pubsub::params::mailadm_password
17 $mailly_password = $roles::pubsub::params::mailly_password
18 $muffat_password = $roles::pubsub::params::muffat_password
20 rabbitmq_user { 'admin':
22 password => $admin_password,
23 provider => 'rabbitmqctl',
26 rabbitmq_user { 'ftpteam':
28 password => $ftp_password,
29 provider => 'rabbitmqctl',
32 rabbitmq_user { 'buildd':
34 password => $buildd_password,
35 provider => 'rabbitmqctl',
38 rabbitmq_user { 'wbadm':
40 password => $wbadm_password,
41 provider => 'rabbitmqctl',
44 rabbitmq_user { 'mailadm':
46 password => $mailadm_password,
47 provider => 'rabbitmqctl',
50 rabbitmq_user { 'mailly':
52 password => $mailly_password,
53 provider => 'rabbitmqctl',
56 rabbitmq_user { 'muffat':
58 password => $muffat_password,
59 provider => 'rabbitmqctl',
62 rabbitmq_vhost { 'packages':
64 provider => 'rabbitmqctl',
67 rabbitmq_vhost { 'buildd':
69 provider => 'rabbitmqctl',
72 rabbitmq_vhost { 'dsa':
74 provider => 'rabbitmqctl',
77 rabbitmq_user_permissions { 'admin@/':
78 configure_permission => '.*',
79 read_permission => '.*',
80 write_permission => '.*',
81 provider => 'rabbitmqctl',
82 require => Rabbitmq_user['admin']
85 rabbitmq_user_permissions { 'admin@buildd':
86 configure_permission => '.*',
87 read_permission => '.*',
88 write_permission => '.*',
89 provider => 'rabbitmqctl',
91 Rabbitmq_user['admin'],
92 Rabbitmq_vhost['buildd']
96 rabbitmq_user_permissions { 'admin@dsa':
97 configure_permission => '.*',
98 read_permission => '.*',
99 write_permission => '.*',
100 provider => 'rabbitmqctl',
102 Rabbitmq_user['admin'],
103 Rabbitmq_vhost['dsa']
107 rabbitmq_user_permissions { 'admin@packages':
108 configure_permission => '.*',
109 read_permission => '.*',
110 write_permission => '.*',
111 provider => 'rabbitmqctl',
113 Rabbitmq_user['admin'],
114 Rabbitmq_vhost['packages']
118 rabbitmq_user_permissions { 'ftpteam@packages':
119 configure_permission => '.*',
120 read_permission => '.*',
121 write_permission => '.*',
122 provider => 'rabbitmqctl',
124 Rabbitmq_user['ftpteam'],
125 Rabbitmq_vhost['packages']
129 rabbitmq_user_permissions { 'wbadm@packages':
130 read_permission => 'unchecked',
131 write_permission => 'wbadm',
132 provider => 'rabbitmqctl',
134 Rabbitmq_user['wbadm'],
135 Rabbitmq_vhost['packages']
139 rabbitmq_user_permissions { 'buildd@buildd':
140 configure_permission => '.*',
141 read_permission => '.*',
142 write_permission => '.*',
143 provider => 'rabbitmqctl',
145 Rabbitmq_user['buildd'],
146 Rabbitmq_vhost['buildd']
150 rabbitmq_user_permissions { 'wbadm@buildd':
151 configure_permission => '.*',
152 read_permission => '.*',
153 write_permission => '.*',
154 provider => 'rabbitmqctl',
156 Rabbitmq_user['wbadm'],
157 Rabbitmq_vhost['buildd']
161 rabbitmq_user_permissions { 'mailadm@dsa':
162 configure_permission => '.*',
163 read_permission => '.*',
164 write_permission => '.*',
165 provider => 'rabbitmqctl',
167 Rabbitmq_user['mailadm'],
168 Rabbitmq_vhost['dsa']
172 rabbitmq_user_permissions { 'mailly@dsa':
173 configure_permission => '.*',
174 read_permission => '.*',
175 write_permission => '.*',
176 provider => 'rabbitmqctl',
178 Rabbitmq_user['mailly'],
179 Rabbitmq_vhost['dsa']
183 rabbitmq_user_permissions { 'muffat@dsa':
184 configure_permission => '.*',
185 read_permission => '.*',
186 write_permission => '.*',
187 provider => 'rabbitmqctl',
189 Rabbitmq_user['muffat'],
190 Rabbitmq_vhost['dsa']
194 rabbitmq_policy { 'mirror-dsa':
197 policy => '{"ha-mode":"all"}',
198 require => Rabbitmq_vhost['dsa']
201 rabbitmq_policy { 'mirror-buildd':
204 policy => '{"ha-mode":"all"}',
205 require => Rabbitmq_vhost['buildd']
208 rabbitmq_policy { 'mirror-packages':
211 policy => '{"ha-mode":"all"}',
212 require => Rabbitmq_vhost['packages']
215 rabbitmq_plugin { 'rabbitmq_management':
217 provider => 'rabbitmqplugins',
218 require => Package['rabbitmq-server'],
219 notify => Service['rabbitmq-server']
221 rabbitmq_plugin { 'rabbitmq_management_agent':
223 provider => 'rabbitmqplugins',
224 require => Package['rabbitmq-server'],
225 notify => Service['rabbitmq-server']
227 rabbitmq_plugin { 'rabbitmq_tracing':
229 provider => 'rabbitmqplugins',
230 require => Package['rabbitmq-server'],
231 notify => Service['rabbitmq-server']
233 rabbitmq_plugin { 'rabbitmq_management_visualiser':
235 provider => 'rabbitmqplugins',
236 require => Package['rabbitmq-server'],
237 notify => Service['rabbitmq-server']