]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/manifests/pubsub/entities.pp
try if downgrading to 1.2.2 solves my problem
[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         $do_hosts = keys($site::localinfo)
70
71         rabbitmq::autouser { $do_hosts: }
72
73         rabbitmq_vhost { 'packages':
74                 ensure   => present,
75                 provider => 'rabbitmqctl',
76         }
77
78         rabbitmq_vhost { 'buildd':
79                 ensure   => present,
80                 provider => 'rabbitmqctl',
81         }
82
83         rabbitmq_vhost { 'dsa':
84                 ensure   => present,
85                 provider => 'rabbitmqctl',
86         }
87
88         rabbitmq_vhost { 'pet':
89                 ensure   => present,
90                 provider => 'rabbitmqctl',
91         }
92
93         rabbitmq_user_permissions { 'admin@/':
94                 configure_permission => '.*',
95                 read_permission      => '.*',
96                 write_permission     => '.*',
97                 provider             => 'rabbitmqctl',
98                 require              => Rabbitmq_user['admin']
99         }
100
101         rabbitmq_user_permissions { 'admin@buildd':
102                 configure_permission => '.*',
103                 read_permission      => '.*',
104                 write_permission     => '.*',
105                 provider             => 'rabbitmqctl',
106                 require              => [
107                         Rabbitmq_user['admin'],
108                         Rabbitmq_vhost['buildd']
109                 ]
110         }
111
112         rabbitmq_user_permissions { 'admin@dsa':
113                 configure_permission => '.*',
114                 read_permission      => '.*',
115                 write_permission     => '.*',
116                 provider             => 'rabbitmqctl',
117                 require              => [
118                         Rabbitmq_user['admin'],
119                         Rabbitmq_vhost['dsa']
120                 ]
121         }
122
123         rabbitmq_user_permissions { 'admin@packages':
124                 configure_permission => '.*',
125                 read_permission      => '.*',
126                 write_permission     => '.*',
127                 provider             => 'rabbitmqctl',
128                 require              => [
129                         Rabbitmq_user['admin'],
130                         Rabbitmq_vhost['packages']
131                 ]
132         }
133
134         rabbitmq_user_permissions { 'admin@pet':
135                 configure_permission => '.*',
136                 read_permission      => '.*',
137                 write_permission     => '.*',
138                 provider             => 'rabbitmqctl',
139                 require              => [
140                         Rabbitmq_user['admin'],
141                         Rabbitmq_vhost['pet']
142                 ]
143         }
144
145         rabbitmq_user_permissions { 'ftpteam@packages':
146                 configure_permission => '.*',
147                 read_permission      => '.*',
148                 write_permission     => '.*',
149                 provider             => 'rabbitmqctl',
150                 require              => [
151                         Rabbitmq_user['ftpteam'],
152                         Rabbitmq_vhost['packages']
153                 ]
154         }
155
156         rabbitmq_user_permissions { 'wbadm@packages':
157                 read_permission      => 'unchecked',
158                 write_permission     => 'wbadm',
159                 provider             => 'rabbitmqctl',
160                 require              => [
161                         Rabbitmq_user['wbadm'],
162                         Rabbitmq_vhost['packages']
163                 ]
164         }
165
166         rabbitmq_user_permissions { 'buildd@buildd':
167                 configure_permission => '.*',
168                 read_permission      => '.*',
169                 write_permission     => '.*',
170                 provider             => 'rabbitmqctl',
171                 require              => [
172                         Rabbitmq_user['buildd'],
173                         Rabbitmq_vhost['buildd']
174                 ]
175         }
176
177         rabbitmq_user_permissions { 'wbadm@buildd':
178                 configure_permission => '.*',
179                 read_permission      => '.*',
180                 write_permission     => '.*',
181                 provider             => 'rabbitmqctl',
182                 require              => [
183                         Rabbitmq_user['wbadm'],
184                         Rabbitmq_vhost['buildd']
185                 ]
186         }
187
188         rabbitmq_user_permissions { 'mailadm@dsa':
189                 configure_permission => '.*',
190                 read_permission      => '.*',
191                 write_permission     => '.*',
192                 provider             => 'rabbitmqctl',
193                 require              => [
194                         Rabbitmq_user['mailadm'],
195                         Rabbitmq_vhost['dsa']
196                 ]
197         }
198
199         rabbitmq_user_permissions { 'pet-devel@pet':
200                 configure_permission => '.*',
201                 read_permission      => '.*',
202                 write_permission     => '.*',
203                 provider             => 'rabbitmqctl',
204                 require              => [
205                         Rabbitmq_user['pet-devel'],
206                         Rabbitmq_vhost['pet']
207                 ]
208         }
209
210         rabbitmq_policy { 'mirror-dsa':
211                 vhost   => 'dsa',
212                 match   => '.*',
213                 policy  => '{"ha-mode":"all"}',
214                 require => Rabbitmq_vhost['dsa']
215         }
216
217         rabbitmq_policy { 'mirror-buildd':
218                 vhost   => 'buildd',
219                 match   => '.*',
220                 policy  => '{"ha-mode":"all"}',
221                 require => Rabbitmq_vhost['buildd']
222         }
223
224         rabbitmq_policy { 'mirror-packages':
225                 vhost   => 'packages',
226                 match   => '.*',
227                 policy  => '{"ha-mode":"all"}',
228                 require => Rabbitmq_vhost['packages']
229         }
230
231         rabbitmq_policy { 'mirror_pet':
232                 vhost   => 'pet',
233                 match   => '.*',
234                 policy  => '{"ha-mode":"all"}',
235                 require => Rabbitmq_vhost['pet']
236         }
237
238         rabbitmq_plugin { 'rabbitmq_management':
239                 ensure   => present,
240                 provider => 'rabbitmqplugins',
241                 require  => Package['rabbitmq-server'],
242                 notify   => Service['rabbitmq-server']
243         }
244         rabbitmq_plugin { 'rabbitmq_management_agent':
245                 ensure   => present,
246                 provider => 'rabbitmqplugins',
247                 require  => Package['rabbitmq-server'],
248                 notify   => Service['rabbitmq-server']
249         }
250         rabbitmq_plugin { 'rabbitmq_tracing':
251                 ensure   => present,
252                 provider => 'rabbitmqplugins',
253                 require  => Package['rabbitmq-server'],
254                 notify   => Service['rabbitmq-server']
255         }
256         rabbitmq_plugin { 'rabbitmq_management_visualiser':
257                 ensure   => present,
258                 provider => 'rabbitmqplugins',
259                 require  => Package['rabbitmq-server'],
260                 notify   => Service['rabbitmq-server']
261         }
262
263 }