]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/manifests/pubsub/entities.pp
fix regexp
[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
20         rabbitmq_user { 'admin':
21                 admin    => true,
22                 password => $admin_password,
23                 provider => 'rabbitmqctl',
24         }
25
26         rabbitmq_user { 'ftpteam':
27                 admin    => true,
28                 password => $ftp_password,
29                 provider => 'rabbitmqctl',
30         }
31
32         rabbitmq_user { 'buildd':
33                 admin    => true,
34                 password => $buildd_password,
35                 provider => 'rabbitmqctl',
36         }
37
38         rabbitmq_user { 'wbadm':
39                 admin    => true,
40                 password => $wbadm_password,
41                 provider => 'rabbitmqctl',
42         }
43
44         rabbitmq_user { 'mailadm':
45                 admin    => true,
46                 password => $mailadm_password,
47                 provider => 'rabbitmqctl',
48         }
49
50         rabbitmq_user { 'mailly':
51                 admin    => true,
52                 password => $mailly_password,
53                 provider => 'rabbitmqctl',
54         }
55
56         rabbitmq_user { 'muffat':
57                 admin    => true,
58                 password => $muffat_password,
59                 provider => 'rabbitmqctl',
60         }
61
62         rabbitmq_vhost { 'packages':
63                 ensure   => present,
64                 provider => 'rabbitmqctl',
65         }
66
67         rabbitmq_vhost { 'buildd':
68                 ensure   => present,
69                 provider => 'rabbitmqctl',
70         }
71
72         rabbitmq_vhost { 'dsa':
73                 ensure   => present,
74                 provider => 'rabbitmqctl',
75         }
76
77         rabbitmq_user_permissions { 'admin@/':
78                 configure_permission => '.*',
79                 read_permission      => '.*',
80                 write_permission     => '.*',
81                 provider             => 'rabbitmqctl',
82                 require              => Rabbitmq_user['admin']
83         }
84
85         rabbitmq_user_permissions { 'admin@buildd':
86                 configure_permission => '.*',
87                 read_permission      => '.*',
88                 write_permission     => '.*',
89                 provider             => 'rabbitmqctl',
90                 require              => [
91                         Rabbitmq_user['admin'],
92                         Rabbitmq_vhost['buildd']
93                 ]
94         }
95
96         rabbitmq_user_permissions { 'admin@dsa':
97                 configure_permission => '.*',
98                 read_permission      => '.*',
99                 write_permission     => '.*',
100                 provider             => 'rabbitmqctl',
101                 require              => [
102                         Rabbitmq_user['admin'],
103                         Rabbitmq_vhost['dsa']
104                 ]
105         }
106
107         rabbitmq_user_permissions { 'admin@packages':
108                 configure_permission => '.*',
109                 read_permission      => '.*',
110                 write_permission     => '.*',
111                 provider             => 'rabbitmqctl',
112                 require              => [
113                         Rabbitmq_user['admin'],
114                         Rabbitmq_vhost['packages']
115                 ]
116         }
117
118         rabbitmq_user_permissions { 'ftpteam@packages':
119                 configure_permission => '.*',
120                 read_permission      => '.*',
121                 write_permission     => '.*',
122                 provider             => 'rabbitmqctl',
123                 require              => [
124                         Rabbitmq_user['ftpteam'],
125                         Rabbitmq_vhost['packages']
126                 ]
127         }
128
129         rabbitmq_user_permissions { 'wbadm@packages':
130                 read_permission      => 'unchecked',
131                 write_permission     => 'wbadm',
132                 provider             => 'rabbitmqctl',
133                 require              => [
134                         Rabbitmq_user['wbadm'],
135                         Rabbitmq_vhost['packages']
136                 ]
137         }
138
139         rabbitmq_user_permissions { 'buildd@buildd':
140                 configure_permission => '.*',
141                 read_permission      => '.*',
142                 write_permission     => '.*',
143                 provider             => 'rabbitmqctl',
144                 require              => [
145                         Rabbitmq_user['buildd'],
146                         Rabbitmq_vhost['buildd']
147                 ]
148         }
149
150         rabbitmq_user_permissions { 'wbadm@buildd':
151                 configure_permission => '.*',
152                 read_permission      => '.*',
153                 write_permission     => '.*',
154                 provider             => 'rabbitmqctl',
155                 require              => [
156                         Rabbitmq_user['wbadm'],
157                         Rabbitmq_vhost['buildd']
158                 ]
159         }
160
161         rabbitmq_user_permissions { 'mailadm@dsa':
162                 configure_permission => '.*',
163                 read_permission      => '.*',
164                 write_permission     => '.*',
165                 provider             => 'rabbitmqctl',
166                 require              => [
167                         Rabbitmq_user['mailadm'],
168                         Rabbitmq_vhost['dsa']
169                 ]
170         }
171
172         rabbitmq_user_permissions { 'mailly@dsa':
173                 configure_permission => '.*',
174                 read_permission      => '.*',
175                 write_permission     => '.*',
176                 provider             => 'rabbitmqctl',
177                 require              => [
178                         Rabbitmq_user['mailly'],
179                         Rabbitmq_vhost['dsa']
180                 ]
181         }
182
183         rabbitmq_user_permissions { 'muffat@dsa':
184                 configure_permission => '.*',
185                 read_permission      => '.*',
186                 write_permission     => '.*',
187                 provider             => 'rabbitmqctl',
188                 require              => [
189                         Rabbitmq_user['muffat'],
190                         Rabbitmq_vhost['dsa']
191                 ]
192         }
193
194         rabbitmq_policy { 'mirror-dsa':
195                 vhost   => 'dsa',
196                 match   => '.*',
197                 policy  => '{"ha-mode":"all"}',
198                 require => Rabbitmq_vhost['dsa']
199         }
200
201         rabbitmq_policy { 'mirror-buildd':
202                 vhost   => 'buildd',
203                 match   => '.*',
204                 policy  => '{"ha-mode":"all"}',
205                 require => Rabbitmq_vhost['buildd']
206         }
207
208         rabbitmq_policy { 'mirror-packages':
209                 vhost   => 'packages',
210                 match   => '.*',
211                 policy  => '{"ha-mode":"all"}',
212                 require => Rabbitmq_vhost['packages']
213         }
214
215         rabbitmq_plugin { 'rabbitmq_management':
216                 ensure   => present,
217                 provider => 'rabbitmqplugins',
218                 require  => Package['rabbitmq-server'],
219                 notify   => Service['rabbitmq-server']
220         }
221         rabbitmq_plugin { 'rabbitmq_management_agent':
222                 ensure   => present,
223                 provider => 'rabbitmqplugins',
224                 require  => Package['rabbitmq-server'],
225                 notify   => Service['rabbitmq-server']
226         }
227         rabbitmq_plugin { 'rabbitmq_tracing':
228                 ensure   => present,
229                 provider => 'rabbitmqplugins',
230                 require  => Package['rabbitmq-server'],
231                 notify   => Service['rabbitmq-server']
232         }
233         rabbitmq_plugin { 'rabbitmq_management_visualiser':
234                 ensure   => present,
235                 provider => 'rabbitmqplugins',
236                 require  => Package['rabbitmq-server'],
237                 notify   => Service['rabbitmq-server']
238         }
239
240 }