]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/manifests/pubsub/entities.pp
Revert "add ssl auth support"
[dsa-puppet.git] / modules / roles / manifests / pubsub / entities.pp
1 # = Class: roles::pubsub::entities
2 #
3 # MQ users, vhosts, policies, and permissions for pubsub hosts
4 #
5 # == Sample Usage:
6 #
7 #   include roles::pubsub::entities
8 #
9 class roles::pubsub::entities {
10         include roles::pubsub::params
11
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
20
21         rabbitmq_user { 'admin':
22                 admin    => true,
23                 password => $admin_password,
24                 provider => 'rabbitmqctl',
25         }
26
27         rabbitmq_user { 'ftpteam':
28                 admin    => false,
29                 password => $ftp_password,
30                 provider => 'rabbitmqctl',
31         }
32
33         rabbitmq_user { 'buildd':
34                 admin    => false,
35                 password => $buildd_password,
36                 provider => 'rabbitmqctl',
37         }
38
39         rabbitmq_user { 'wbadm':
40                 admin    => false,
41                 password => $wbadm_password,
42                 provider => 'rabbitmqctl',
43         }
44
45         rabbitmq_user { 'mailadm':
46                 admin    => false,
47                 password => $mailadm_password,
48                 provider => 'rabbitmqctl',
49         }
50
51         rabbitmq_user { 'mailly':
52                 admin    => false,
53                 password => $mailly_password,
54                 provider => 'rabbitmqctl',
55         }
56
57         rabbitmq_user { 'muffat':
58                 admin    => false,
59                 password => $muffat_password,
60                 provider => 'rabbitmqctl',
61         }
62
63         rabbitmq_user { 'pet-devel':
64                 admin    => false,
65                 password => $pet_password,
66                 provider => 'rabbitmqctl',
67         }
68
69         rabbitmq_vhost { 'packages':
70                 ensure   => present,
71                 provider => 'rabbitmqctl',
72         }
73
74         rabbitmq_vhost { 'buildd':
75                 ensure   => present,
76                 provider => 'rabbitmqctl',
77         }
78
79         rabbitmq_vhost { 'dsa':
80                 ensure   => present,
81                 provider => 'rabbitmqctl',
82         }
83
84         rabbitmq_vhost { 'pet':
85                 ensure   => present,
86                 provider => 'rabbitmqctl',
87         }
88
89         rabbitmq_user_permissions { 'admin@/':
90                 configure_permission => '.*',
91                 read_permission      => '.*',
92                 write_permission     => '.*',
93                 provider             => 'rabbitmqctl',
94                 require              => Rabbitmq_user['admin']
95         }
96
97         rabbitmq_user_permissions { 'admin@buildd':
98                 configure_permission => '.*',
99                 read_permission      => '.*',
100                 write_permission     => '.*',
101                 provider             => 'rabbitmqctl',
102                 require              => [
103                         Rabbitmq_user['admin'],
104                         Rabbitmq_vhost['buildd']
105                 ]
106         }
107
108         rabbitmq_user_permissions { 'admin@dsa':
109                 configure_permission => '.*',
110                 read_permission      => '.*',
111                 write_permission     => '.*',
112                 provider             => 'rabbitmqctl',
113                 require              => [
114                         Rabbitmq_user['admin'],
115                         Rabbitmq_vhost['dsa']
116                 ]
117         }
118
119         rabbitmq_user_permissions { 'admin@packages':
120                 configure_permission => '.*',
121                 read_permission      => '.*',
122                 write_permission     => '.*',
123                 provider             => 'rabbitmqctl',
124                 require              => [
125                         Rabbitmq_user['admin'],
126                         Rabbitmq_vhost['packages']
127                 ]
128         }
129
130         rabbitmq_user_permissions { 'admin@pet':
131                 configure_permission => '.*',
132                 read_permission      => '.*',
133                 write_permission     => '.*',
134                 provider             => 'rabbitmqctl',
135                 require              => [
136                         Rabbitmq_user['admin'],
137                         Rabbitmq_vhost['pet']
138                 ]
139         }
140
141         rabbitmq_user_permissions { 'ftpteam@packages':
142                 configure_permission => '.*',
143                 read_permission      => '.*',
144                 write_permission     => '.*',
145                 provider             => 'rabbitmqctl',
146                 require              => [
147                         Rabbitmq_user['ftpteam'],
148                         Rabbitmq_vhost['packages']
149                 ]
150         }
151
152         rabbitmq_user_permissions { 'wbadm@packages':
153                 read_permission      => 'unchecked',
154                 write_permission     => 'wbadm',
155                 provider             => 'rabbitmqctl',
156                 require              => [
157                         Rabbitmq_user['wbadm'],
158                         Rabbitmq_vhost['packages']
159                 ]
160         }
161
162         rabbitmq_user_permissions { 'buildd@buildd':
163                 configure_permission => '.*',
164                 read_permission      => '.*',
165                 write_permission     => '.*',
166                 provider             => 'rabbitmqctl',
167                 require              => [
168                         Rabbitmq_user['buildd'],
169                         Rabbitmq_vhost['buildd']
170                 ]
171         }
172
173         rabbitmq_user_permissions { 'wbadm@buildd':
174                 configure_permission => '.*',
175                 read_permission      => '.*',
176                 write_permission     => '.*',
177                 provider             => 'rabbitmqctl',
178                 require              => [
179                         Rabbitmq_user['wbadm'],
180                         Rabbitmq_vhost['buildd']
181                 ]
182         }
183
184         rabbitmq_user_permissions { 'mailadm@dsa':
185                 configure_permission => '.*',
186                 read_permission      => '.*',
187                 write_permission     => '.*',
188                 provider             => 'rabbitmqctl',
189                 require              => [
190                         Rabbitmq_user['mailadm'],
191                         Rabbitmq_vhost['dsa']
192                 ]
193         }
194
195         rabbitmq_user_permissions { 'mailly@dsa':
196                 configure_permission => '.*',
197                 read_permission      => '.*',
198                 write_permission     => '.*',
199                 provider             => 'rabbitmqctl',
200                 require              => [
201                         Rabbitmq_user['mailly'],
202                         Rabbitmq_vhost['dsa']
203                 ]
204         }
205
206         rabbitmq_user_permissions { 'muffat@dsa':
207                 configure_permission => '.*',
208                 read_permission      => '.*',
209                 write_permission     => '.*',
210                 provider             => 'rabbitmqctl',
211                 require              => [
212                         Rabbitmq_user['muffat'],
213                         Rabbitmq_vhost['dsa']
214                 ]
215         }
216
217         rabbitmq_user_permissions { 'pet-devel@pet':
218                 configure_permission => '.*',
219                 read_permission      => '.*',
220                 write_permission     => '.*',
221                 provider             => 'rabbitmqctl',
222                 require              => [
223                         Rabbitmq_user['pet-devel'],
224                         Rabbitmq_vhost['pet']
225                 ]
226         }
227
228         rabbitmq_policy { 'mirror-dsa':
229                 vhost   => 'dsa',
230                 match   => '.*',
231                 policy  => '{"ha-mode":"all"}',
232                 require => Rabbitmq_vhost['dsa']
233         }
234
235         rabbitmq_policy { 'mirror-buildd':
236                 vhost   => 'buildd',
237                 match   => '.*',
238                 policy  => '{"ha-mode":"all"}',
239                 require => Rabbitmq_vhost['buildd']
240         }
241
242         rabbitmq_policy { 'mirror-packages':
243                 vhost   => 'packages',
244                 match   => '.*',
245                 policy  => '{"ha-mode":"all"}',
246                 require => Rabbitmq_vhost['packages']
247         }
248
249         rabbitmq_policy { 'mirror_pet':
250                 vhost   => 'pet',
251                 match   => '.*',
252                 policy  => '{"ha-mode":"all"}',
253                 require => Rabbitmq_vhost['pet']
254         }
255
256         rabbitmq_plugin { 'rabbitmq_management':
257                 ensure   => present,
258                 provider => 'rabbitmqplugins',
259                 require  => Package['rabbitmq-server'],
260                 notify   => Service['rabbitmq-server']
261         }
262         rabbitmq_plugin { 'rabbitmq_management_agent':
263                 ensure   => present,
264                 provider => 'rabbitmqplugins',
265                 require  => Package['rabbitmq-server'],
266                 notify   => Service['rabbitmq-server']
267         }
268         rabbitmq_plugin { 'rabbitmq_tracing':
269                 ensure   => present,
270                 provider => 'rabbitmqplugins',
271                 require  => Package['rabbitmq-server'],
272                 notify   => Service['rabbitmq-server']
273         }
274         rabbitmq_plugin { 'rabbitmq_management_visualiser':
275                 ensure   => present,
276                 provider => 'rabbitmqplugins',
277                 require  => Package['rabbitmq-server'],
278                 notify   => Service['rabbitmq-server']
279         }
280
281 }