]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/roles/manifests/pubsub/entities.pp
refactor
[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
9         rabbitmq_user { 'admin':
10                 admin    => true,
11                 password => $admin_password,
12                 provider => 'rabbitmqctl',
13         }
14
15         rabbitmq_user { 'ftpteam':
16                 admin    => true,
17                 password => $ftp_password,
18                 provider => 'rabbitmqctl',
19         }
20
21         rabbitmq_user { 'buildd':
22                 admin    => true,
23                 password => $buildd_password,
24                 provider => 'rabbitmqctl',
25         }
26
27         rabbitmq_user { 'wbadm':
28                 admin    => true,
29                 password => $wbadm_password,
30                 provider => 'rabbitmqctl',
31         }
32
33         rabbitmq_vhost { 'packages':
34                 ensure   => present,
35                 provider => 'rabbitmqctl',
36         }
37
38         rabbitmq_vhost { 'buildd':
39                 ensure   => present,
40                 provider => 'rabbitmqctl',
41         }
42
43         rabbitmq_user_permissions { 'admin@/':
44                 configure_permission => '.*',
45                 read_permission      => '.*',
46                 write_permission     => '.*',
47                 provider             => 'rabbitmqctl',
48                 require              => Rabbitmq_user['admin']
49         }
50
51         rabbitmq_user_permissions { 'admin@buildd':
52                 configure_permission => '.*',
53                 read_permission      => '.*',
54                 write_permission     => '.*',
55                 provider             => 'rabbitmqctl',
56                 require              => [
57                         Rabbitmq_user['admin'],
58                         Rabbitmq_vhost['buildd']
59                 ]
60         }
61         rabbitmq_user_permissions { 'admin@packages':
62                 configure_permission => '.*',
63                 read_permission      => '.*',
64                 write_permission     => '.*',
65                 provider             => 'rabbitmqctl',
66                 require              => [
67                         Rabbitmq_user['admin'],
68                         Rabbitmq_vhost['packages']
69                 ]
70         }
71
72         rabbitmq_user_permissions { 'ftpteam@packages':
73                 configure_permission => '.*',
74                 read_permission      => '.*',
75                 write_permission     => '.*',
76                 provider             => 'rabbitmqctl',
77                 require              => [
78                         Rabbitmq_user['ftpteam'],
79                         Rabbitmq_vhost['packages']
80                 ]
81         }
82
83         rabbitmq_user_permissions { 'wbadm@packages':
84                 read_permission      => 'unchecked',
85                 write_permission     => 'wbadm',
86                 provider             => 'rabbitmqctl',
87                 require              => [
88                         Rabbitmq_user['wbadm'],
89                         Rabbitmq_vhost['packages']
90                 ]
91         }
92
93         rabbitmq_user_permissions { 'buildd@buildd':
94                 configure_permission => '.*',
95                 read_permission      => '.*',
96                 write_permission     => '.*',
97                 provider             => 'rabbitmqctl',
98                 require              => [
99                         Rabbitmq_user['buildd'],
100                         Rabbitmq_vhost['buildd']
101                 ]
102         }
103
104         rabbitmq_user_permissions { 'wbadm@buildd':
105                 configure_permission => '.*',
106                 read_permission      => '.*',
107                 write_permission     => '.*',
108                 provider             => 'rabbitmqctl',
109                 require              => [
110                         Rabbitmq_user['wbadm'],
111                         Rabbitmq_vhost['buildd']
112                 ]
113         }
114
115         rabbitmq_policy { 'mirror-buildd':
116                 vhost   => 'buildd',
117                 match   => '.*',
118                 policy  => '{"ha-mode":"all"}',
119                 require => Rabbitmq_vhost['buildd']
120         }
121
122         rabbitmq_policy { 'mirror-packages':
123                 vhost   => 'packages',
124                 match   => '.*',
125                 policy  => '{"ha-mode":"all"}',
126                 require => Rabbitmq_vhost['packages']
127         }
128
129         rabbitmq_plugin { 'rabbitmq_management':
130                 ensure   => present,
131                 provider => 'rabbitmqplugins',
132                 require  => Package['rabbitmq-server'],
133                 notify   => Service['rabbitmq-server']
134         }
135         rabbitmq_plugin { 'rabbitmq_management_agent':
136                 ensure   => present,
137                 provider => 'rabbitmqplugins',
138                 require  => Package['rabbitmq-server'],
139                 notify   => Service['rabbitmq-server']
140         }
141         rabbitmq_plugin { 'rabbitmq_tracing':
142                 ensure   => present,
143                 provider => 'rabbitmqplugins',
144                 require  => Package['rabbitmq-server'],
145                 notify   => Service['rabbitmq-server']
146         }
147         rabbitmq_plugin { 'rabbitmq_management_visualiser':
148                 ensure   => present,
149                 provider => 'rabbitmqplugins',
150                 require  => Package['rabbitmq-server'],
151                 notify   => Service['rabbitmq-server']
152         }
153
154 }