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
19 $pet_password = $roles::pubsub::params::pet_password
21 rabbitmq_user { 'admin':
23 password => $admin_password,
24 provider => 'rabbitmqctl',
27 rabbitmq_user { 'ftpteam':
29 password => $ftp_password,
30 provider => 'rabbitmqctl',
33 rabbitmq_user { 'buildd':
35 password => $buildd_password,
36 provider => 'rabbitmqctl',
39 rabbitmq_user { 'wbadm':
41 password => $wbadm_password,
42 provider => 'rabbitmqctl',
45 rabbitmq_user { 'mailadm':
47 password => $mailadm_password,
48 provider => 'rabbitmqctl',
51 rabbitmq_user { 'mailly':
53 password => $mailly_password,
54 provider => 'rabbitmqctl',
57 rabbitmq_user { 'muffat':
59 password => $muffat_password,
60 provider => 'rabbitmqctl',
63 rabbitmq_user { 'pet-devel':
65 password => $pet_password,
66 provider => 'rabbitmqctl',
69 rabbitmq_vhost { 'packages':
71 provider => 'rabbitmqctl',
74 rabbitmq_vhost { 'buildd':
76 provider => 'rabbitmqctl',
79 rabbitmq_vhost { 'dsa':
81 provider => 'rabbitmqctl',
84 rabbitmq_vhost { 'pet':
86 provider => 'rabbitmqctl',
89 rabbitmq_user_permissions { 'admin@/':
90 configure_permission => '.*',
91 read_permission => '.*',
92 write_permission => '.*',
93 provider => 'rabbitmqctl',
94 require => Rabbitmq_user['admin']
97 rabbitmq_user_permissions { 'admin@buildd':
98 configure_permission => '.*',
99 read_permission => '.*',
100 write_permission => '.*',
101 provider => 'rabbitmqctl',
103 Rabbitmq_user['admin'],
104 Rabbitmq_vhost['buildd']
108 rabbitmq_user_permissions { 'admin@dsa':
109 configure_permission => '.*',
110 read_permission => '.*',
111 write_permission => '.*',
112 provider => 'rabbitmqctl',
114 Rabbitmq_user['admin'],
115 Rabbitmq_vhost['dsa']
119 rabbitmq_user_permissions { 'admin@packages':
120 configure_permission => '.*',
121 read_permission => '.*',
122 write_permission => '.*',
123 provider => 'rabbitmqctl',
125 Rabbitmq_user['admin'],
126 Rabbitmq_vhost['packages']
130 rabbitmq_user_permissions { 'admin@pet':
131 configure_permission => '.*',
132 read_permission => '.*',
133 write_permission => '.*',
134 provider => 'rabbitmqctl',
136 Rabbitmq_user['admin'],
137 Rabbitmq_vhost['pet']
141 rabbitmq_user_permissions { 'ftpteam@packages':
142 configure_permission => '.*',
143 read_permission => '.*',
144 write_permission => '.*',
145 provider => 'rabbitmqctl',
147 Rabbitmq_user['ftpteam'],
148 Rabbitmq_vhost['packages']
152 rabbitmq_user_permissions { 'wbadm@packages':
153 read_permission => 'unchecked',
154 write_permission => 'wbadm',
155 provider => 'rabbitmqctl',
157 Rabbitmq_user['wbadm'],
158 Rabbitmq_vhost['packages']
162 rabbitmq_user_permissions { 'buildd@buildd':
163 configure_permission => '.*',
164 read_permission => '.*',
165 write_permission => '.*',
166 provider => 'rabbitmqctl',
168 Rabbitmq_user['buildd'],
169 Rabbitmq_vhost['buildd']
173 rabbitmq_user_permissions { 'wbadm@buildd':
174 configure_permission => '.*',
175 read_permission => '.*',
176 write_permission => '.*',
177 provider => 'rabbitmqctl',
179 Rabbitmq_user['wbadm'],
180 Rabbitmq_vhost['buildd']
184 rabbitmq_user_permissions { 'mailadm@dsa':
185 configure_permission => '.*',
186 read_permission => '.*',
187 write_permission => '.*',
188 provider => 'rabbitmqctl',
190 Rabbitmq_user['mailadm'],
191 Rabbitmq_vhost['dsa']
195 rabbitmq_user_permissions { 'mailly@dsa':
196 configure_permission => '.*',
197 read_permission => '.*',
198 write_permission => '.*',
199 provider => 'rabbitmqctl',
201 Rabbitmq_user['mailly'],
202 Rabbitmq_vhost['dsa']
206 rabbitmq_user_permissions { 'muffat@dsa':
207 configure_permission => '.*',
208 read_permission => '.*',
209 write_permission => '.*',
210 provider => 'rabbitmqctl',
212 Rabbitmq_user['muffat'],
213 Rabbitmq_vhost['dsa']
217 rabbitmq_user_permissions { 'pet-devel@pet':
218 configure_permission => '.*',
219 read_permission => '.*',
220 write_permission => '.*',
221 provider => 'rabbitmqctl',
223 Rabbitmq_user['pet-devel'],
224 Rabbitmq_vhost['pet']
228 rabbitmq_policy { 'mirror-dsa':
231 policy => '{"ha-mode":"all"}',
232 require => Rabbitmq_vhost['dsa']
235 rabbitmq_policy { 'mirror-buildd':
238 policy => '{"ha-mode":"all"}',
239 require => Rabbitmq_vhost['buildd']
242 rabbitmq_policy { 'mirror-packages':
245 policy => '{"ha-mode":"all"}',
246 require => Rabbitmq_vhost['packages']
249 rabbitmq_policy { 'mirror_pet':
252 policy => '{"ha-mode":"all"}',
253 require => Rabbitmq_vhost['pet']
256 rabbitmq_plugin { 'rabbitmq_management':
258 provider => 'rabbitmqplugins',
259 require => Package['rabbitmq-server'],
260 notify => Service['rabbitmq-server']
262 rabbitmq_plugin { 'rabbitmq_management_agent':
264 provider => 'rabbitmqplugins',
265 require => Package['rabbitmq-server'],
266 notify => Service['rabbitmq-server']
268 rabbitmq_plugin { 'rabbitmq_tracing':
270 provider => 'rabbitmqplugins',
271 require => Package['rabbitmq-server'],
272 notify => Service['rabbitmq-server']
274 rabbitmq_plugin { 'rabbitmq_management_visualiser':
276 provider => 'rabbitmqplugins',
277 require => Package['rabbitmq-server'],
278 notify => Service['rabbitmq-server']