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 read_permission => 'mailadm',
166 write_permission => 'mailly',
167 provider => 'rabbitmqctl',
169 Rabbitmq_user['mailly'],
170 Rabbitmq_vhost['dsa']
174 rabbitmq_user_permissions { 'muffat@dsa':
175 read_permission => 'mailadm',
176 write_permission => 'muffat',
177 provider => 'rabbitmqctl',
179 Rabbitmq_user['muffat'],
180 Rabbitmq_vhost['dsa']
184 rabbitmq_policy { 'mirror-dsa':
187 policy => '{"ha-mode":"all"}',
188 require => Rabbitmq_vhost['dsa']
191 rabbitmq_policy { 'mirror-buildd':
194 policy => '{"ha-mode":"all"}',
195 require => Rabbitmq_vhost['buildd']
198 rabbitmq_policy { 'mirror-packages':
201 policy => '{"ha-mode":"all"}',
202 require => Rabbitmq_vhost['packages']
205 rabbitmq_plugin { 'rabbitmq_management':
207 provider => 'rabbitmqplugins',
208 require => Package['rabbitmq-server'],
209 notify => Service['rabbitmq-server']
211 rabbitmq_plugin { 'rabbitmq_management_agent':
213 provider => 'rabbitmqplugins',
214 require => Package['rabbitmq-server'],
215 notify => Service['rabbitmq-server']
217 rabbitmq_plugin { 'rabbitmq_tracing':
219 provider => 'rabbitmqplugins',
220 require => Package['rabbitmq-server'],
221 notify => Service['rabbitmq-server']
223 rabbitmq_plugin { 'rabbitmq_management_visualiser':
225 provider => 'rabbitmqplugins',
226 require => Package['rabbitmq-server'],
227 notify => Service['rabbitmq-server']