]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/manifests/pubsub/entities.pp
move to puppetlabs rabbitmq module
[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         }
25
26         rabbitmq_user { 'ftpteam':
27                 admin    => false,
28                 password => $ftp_password,
29         }
30
31         rabbitmq_user { 'buildd':
32                 admin    => false,
33                 password => $buildd_password,
34         }
35
36         rabbitmq_user { 'wbadm':
37                 admin    => false,
38                 password => $wbadm_password,
39         }
40
41         rabbitmq_user { 'mailadm':
42                 admin    => false,
43                 password => $mailadm_password,
44         }
45
46         rabbitmq_user { 'mailly':
47                 admin    => false,
48                 password => $mailly_password,
49         }
50
51         rabbitmq_user { 'muffat':
52                 admin    => false,
53                 password => $muffat_password,
54         }
55
56         rabbitmq_user { 'pet-devel':
57                 admin    => false,
58                 password => $pet_password,
59         }
60
61         rabbitmq_vhost { 'packages':
62                 ensure   => present,
63         }
64
65         rabbitmq_vhost { 'buildd':
66                 ensure   => present,
67         }
68
69         rabbitmq_vhost { 'dsa':
70                 ensure   => present,
71         }
72
73         rabbitmq_vhost { 'pet':
74                 ensure   => present,
75         }
76
77         rabbitmq_user_permissions { 'admin@/':
78                 configure_permission => '.*',
79                 read_permission      => '.*',
80                 write_permission     => '.*',
81         }
82
83         rabbitmq_user_permissions { 'admin@buildd':
84                 configure_permission => '.*',
85                 read_permission      => '.*',
86                 write_permission     => '.*',
87         }
88
89         rabbitmq_user_permissions { 'admin@dsa':
90                 configure_permission => '.*',
91                 read_permission      => '.*',
92                 write_permission     => '.*',
93         }
94
95         rabbitmq_user_permissions { 'admin@packages':
96                 configure_permission => '.*',
97                 read_permission      => '.*',
98                 write_permission     => '.*',
99         }
100
101         rabbitmq_user_permissions { 'admin@pet':
102                 configure_permission => '.*',
103                 read_permission      => '.*',
104                 write_permission     => '.*',
105         }
106
107         rabbitmq_user_permissions { 'ftpteam@packages':
108                 configure_permission => '.*',
109                 read_permission      => '.*',
110                 write_permission     => '.*',
111         }
112
113         rabbitmq_user_permissions { 'wbadm@packages':
114                 read_permission      => 'unchecked',
115                 write_permission     => 'wbadm',
116         }
117
118         rabbitmq_user_permissions { 'buildd@buildd':
119                 configure_permission => '.*',
120                 read_permission      => '.*',
121                 write_permission     => '.*',
122         }
123
124         rabbitmq_user_permissions { 'wbadm@buildd':
125                 configure_permission => '.*',
126                 read_permission      => '.*',
127                 write_permission     => '.*',
128         }
129
130         rabbitmq_user_permissions { 'mailadm@dsa':
131                 configure_permission => '.*',
132                 read_permission      => '.*',
133                 write_permission     => '.*',
134         }
135
136         rabbitmq_user_permissions { 'pet-devel@pet':
137                 configure_permission => '.*',
138                 read_permission      => '.*',
139                 write_permission     => '.*',
140         }
141
142         rabbitmq_policy { 'mirror-dsa@dsa':
143                 pattern    => '.*',
144                 priority   => 0,
145                 applyto    => 'all',
146                 definition => {
147                         'ha-mode'      => 'all',
148                         'ha-sync-mode' => 'automatic',
149                 },
150         }
151
152         rabbitmq_policy { 'mirror-buildd@buildd':
153                 pattern    => '.*',
154                 priority   => 0,
155                 applyto    => 'all',
156                 definition => {
157                         'ha-mode'      => 'all',
158                         'ha-sync-mode' => 'automatic',
159                 },
160         }
161
162         rabbitmq_policy { 'mirror-packages@packages':
163                 pattern    => '.*',
164                 priority   => 0,
165                 applyto    => 'all',
166                 definition => {
167                         'ha-mode'      => 'all',
168                         'ha-sync-mode' => 'automatic',
169                 },
170         }
171
172         rabbitmq_policy { 'mirror_pet@pet':
173                 pattern    => '.*',
174                 priority   => 0,
175                 applyto    => 'all',
176                 definition => {
177                         'ha-mode'      => 'all',
178                         'ha-sync-mode' => 'automatic',
179                 },
180         }
181
182         rabbitmq_plugin { 'rabbitmq_management':
183                 ensure   => present,
184         }
185         rabbitmq_plugin { 'rabbitmq_management_agent':
186                 ensure   => present,
187         }
188         rabbitmq_plugin { 'rabbitmq_tracing':
189                 ensure   => present,
190         }
191         rabbitmq_plugin { 'rabbitmq_management_visualiser':
192                 ensure   => present,
193         }
194
195 }