1 class roles::pubsub::entities {
2 include roles::pubsub::params
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
12 rabbitmq_user { 'admin':
14 password => $admin_password,
15 provider => 'rabbitmqctl',
18 rabbitmq_user { 'ftpteam':
20 password => $ftp_password,
21 provider => 'rabbitmqctl',
24 rabbitmq_user { 'buildd':
26 password => $buildd_password,
27 provider => 'rabbitmqctl',
30 rabbitmq_user { 'wbadm':
32 password => $wbadm_password,
33 provider => 'rabbitmqctl',
36 rabbitmq_user { 'mailadm':
38 password => $mailadm_password,
39 provider => 'rabbitmqctl',
42 rabbitmq_user { 'mailly':
44 password => $mailly_password,
45 provider => 'rabbitmqctl',
48 rabbitmq_user { 'muffat':
50 password => $muffat_password,
51 provider => 'rabbitmqctl',
54 rabbitmq_vhost { 'packages':
56 provider => 'rabbitmqctl',
59 rabbitmq_vhost { 'buildd':
61 provider => 'rabbitmqctl',
64 rabbitmq_vhost { 'dsa':
66 provider => 'rabbitmqctl',
69 rabbitmq_user_permissions { 'admin@/':
70 configure_permission => '.*',
71 read_permission => '.*',
72 write_permission => '.*',
73 provider => 'rabbitmqctl',
74 require => Rabbitmq_user['admin']
77 rabbitmq_user_permissions { 'admin@buildd':
78 configure_permission => '.*',
79 read_permission => '.*',
80 write_permission => '.*',
81 provider => 'rabbitmqctl',
83 Rabbitmq_user['admin'],
84 Rabbitmq_vhost['buildd']
88 rabbitmq_user_permissions { 'admin@dsa':
89 configure_permission => '.*',
90 read_permission => '.*',
91 write_permission => '.*',
92 provider => 'rabbitmqctl',
94 Rabbitmq_user['admin'],
99 rabbitmq_user_permissions { 'admin@packages':
100 configure_permission => '.*',
101 read_permission => '.*',
102 write_permission => '.*',
103 provider => 'rabbitmqctl',
105 Rabbitmq_user['admin'],
106 Rabbitmq_vhost['packages']
110 rabbitmq_user_permissions { 'ftpteam@packages':
111 configure_permission => '.*',
112 read_permission => '.*',
113 write_permission => '.*',
114 provider => 'rabbitmqctl',
116 Rabbitmq_user['ftpteam'],
117 Rabbitmq_vhost['packages']
121 rabbitmq_user_permissions { 'wbadm@packages':
122 read_permission => 'unchecked',
123 write_permission => 'wbadm',
124 provider => 'rabbitmqctl',
126 Rabbitmq_user['wbadm'],
127 Rabbitmq_vhost['packages']
131 rabbitmq_user_permissions { 'buildd@buildd':
132 configure_permission => '.*',
133 read_permission => '.*',
134 write_permission => '.*',
135 provider => 'rabbitmqctl',
137 Rabbitmq_user['buildd'],
138 Rabbitmq_vhost['buildd']
142 rabbitmq_user_permissions { 'wbadm@buildd':
143 configure_permission => '.*',
144 read_permission => '.*',
145 write_permission => '.*',
146 provider => 'rabbitmqctl',
148 Rabbitmq_user['wbadm'],
149 Rabbitmq_vhost['buildd']
153 rabbitmq_user_permissions { 'mailadm@dsa':
154 configure_permission => '.*',
155 read_permission => '.*',
156 write_permission => '.*',
157 provider => 'rabbitmqctl',
159 Rabbitmq_user['mailadm'],
160 Rabbitmq_vhost['dsa']
164 rabbitmq_user_permissions { 'mailly@dsa':
165 configure_permission => '*',
166 read_permission => '*',
167 write_permission => '*',
168 provider => 'rabbitmqctl',
170 Rabbitmq_user['mailly'],
171 Rabbitmq_vhost['dsa']
175 rabbitmq_user_permissions { 'muffat@dsa':
176 configure_permission => '*',
177 read_permission => '*',
178 write_permission => '*',
179 provider => 'rabbitmqctl',
181 Rabbitmq_user['muffat'],
182 Rabbitmq_vhost['dsa']
186 rabbitmq_policy { 'mirror-dsa':
189 policy => '{"ha-mode":"all"}',
190 require => Rabbitmq_vhost['dsa']
193 rabbitmq_policy { 'mirror-buildd':
196 policy => '{"ha-mode":"all"}',
197 require => Rabbitmq_vhost['buildd']
200 rabbitmq_policy { 'mirror-packages':
203 policy => '{"ha-mode":"all"}',
204 require => Rabbitmq_vhost['packages']
207 rabbitmq_plugin { 'rabbitmq_management':
209 provider => 'rabbitmqplugins',
210 require => Package['rabbitmq-server'],
211 notify => Service['rabbitmq-server']
213 rabbitmq_plugin { 'rabbitmq_management_agent':
215 provider => 'rabbitmqplugins',
216 require => Package['rabbitmq-server'],
217 notify => Service['rabbitmq-server']
219 rabbitmq_plugin { 'rabbitmq_tracing':
221 provider => 'rabbitmqplugins',
222 require => Package['rabbitmq-server'],
223 notify => Service['rabbitmq-server']
225 rabbitmq_plugin { 'rabbitmq_management_visualiser':
227 provider => 'rabbitmqplugins',
228 require => Package['rabbitmq-server'],
229 notify => Service['rabbitmq-server']