]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/manifests/pubsub/entities.pp
add pet vhost
[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':
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 { 'ftpteam@packages':
131                 configure_permission => '.*',
132                 read_permission      => '.*',
133                 write_permission     => '.*',
134                 provider             => 'rabbitmqctl',
135                 require              => [
136                         Rabbitmq_user['ftpteam'],
137                         Rabbitmq_vhost['packages']
138                 ]
139         }
140
141         rabbitmq_user_permissions { 'wbadm@packages':
142                 read_permission      => 'unchecked',
143                 write_permission     => 'wbadm',
144                 provider             => 'rabbitmqctl',
145                 require              => [
146                         Rabbitmq_user['wbadm'],
147                         Rabbitmq_vhost['packages']
148                 ]
149         }
150
151         rabbitmq_user_permissions { 'buildd@buildd':
152                 configure_permission => '.*',
153                 read_permission      => '.*',
154                 write_permission     => '.*',
155                 provider             => 'rabbitmqctl',
156                 require              => [
157                         Rabbitmq_user['buildd'],
158                         Rabbitmq_vhost['buildd']
159                 ]
160         }
161
162         rabbitmq_user_permissions { 'wbadm@buildd':
163                 configure_permission => '.*',
164                 read_permission      => '.*',
165                 write_permission     => '.*',
166                 provider             => 'rabbitmqctl',
167                 require              => [
168                         Rabbitmq_user['wbadm'],
169                         Rabbitmq_vhost['buildd']
170                 ]
171         }
172
173         rabbitmq_user_permissions { 'mailadm@dsa':
174                 configure_permission => '.*',
175                 read_permission      => '.*',
176                 write_permission     => '.*',
177                 provider             => 'rabbitmqctl',
178                 require              => [
179                         Rabbitmq_user['mailadm'],
180                         Rabbitmq_vhost['dsa']
181                 ]
182         }
183
184         rabbitmq_user_permissions { 'mailly@dsa':
185                 configure_permission => '.*',
186                 read_permission      => '.*',
187                 write_permission     => '.*',
188                 provider             => 'rabbitmqctl',
189                 require              => [
190                         Rabbitmq_user['mailly'],
191                         Rabbitmq_vhost['dsa']
192                 ]
193         }
194
195         rabbitmq_user_permissions { 'muffat@dsa':
196                 configure_permission => '.*',
197                 read_permission      => '.*',
198                 write_permission     => '.*',
199                 provider             => 'rabbitmqctl',
200                 require              => [
201                         Rabbitmq_user['muffat'],
202                         Rabbitmq_vhost['dsa']
203                 ]
204         }
205
206         rabbitmq_user_permissions { 'pet@pet':
207                 configure_permission => '.*',
208                 read_permission      => '.*',
209                 write_permission     => '.*',
210                 provider             => 'rabbitmqctl',
211                 require              => [
212                         Rabbitmq_user['pet'],
213                         Rabbitmq_vhost['pet']
214                 ]
215         }
216
217         rabbitmq_policy { 'mirror-dsa':
218                 vhost   => 'dsa',
219                 match   => '.*',
220                 policy  => '{"ha-mode":"all"}',
221                 require => Rabbitmq_vhost['dsa']
222         }
223
224         rabbitmq_policy { 'mirror-buildd':
225                 vhost   => 'buildd',
226                 match   => '.*',
227                 policy  => '{"ha-mode":"all"}',
228                 require => Rabbitmq_vhost['buildd']
229         }
230
231         rabbitmq_policy { 'mirror-packages':
232                 vhost   => 'packages',
233                 match   => '.*',
234                 policy  => '{"ha-mode":"all"}',
235                 require => Rabbitmq_vhost['packages']
236         }
237
238         rabbitmq_policy { 'mirror_pet':
239                 vhost   => 'pet',
240                 match   => '.*',
241                 policy  => '{"ha-mode":"all"}',
242                 require => Rabbitmq_vhost['pet']
243         }
244
245         rabbitmq_plugin { 'rabbitmq_management':
246                 ensure   => present,
247                 provider => 'rabbitmqplugins',
248                 require  => Package['rabbitmq-server'],
249                 notify   => Service['rabbitmq-server']
250         }
251         rabbitmq_plugin { 'rabbitmq_management_agent':
252                 ensure   => present,
253                 provider => 'rabbitmqplugins',
254                 require  => Package['rabbitmq-server'],
255                 notify   => Service['rabbitmq-server']
256         }
257         rabbitmq_plugin { 'rabbitmq_tracing':
258                 ensure   => present,
259                 provider => 'rabbitmqplugins',
260                 require  => Package['rabbitmq-server'],
261                 notify   => Service['rabbitmq-server']
262         }
263         rabbitmq_plugin { 'rabbitmq_management_visualiser':
264                 ensure   => present,
265                 provider => 'rabbitmqplugins',
266                 require  => Package['rabbitmq-server'],
267                 notify   => Service['rabbitmq-server']
268         }
269
270 }