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