1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
class bugzilla {
$bugzilla_location = '/usr/share/bugzilla'
package {['graphviz',
'perl-Template-GD', # needed for graphical_report support
'perl-Test-Taint',
'perl-JSON-RPC',
'perl-JSON-XS',
'perl-Email-MIME',
'perl-Email-Sender',
'perl-Math-Random-ISAAC',
'perl-Chart',
'perl-PatchReader',
'perl-ldap',
'perl-SOAP-Lite',
'perl-XMLRPC-Lite',
'perl-CGI',
'perl-HTML-Scrubber',
'perl-Encode-Detect',
'perl-File-MimeInfo',
'perl-Email-Reply',
'perl-HTML-FormatText-WithLinks',
'perl-Cache-Memcached',
'perl-File-Copy-Recursive',
'perl-Daemon-Generic']: }
$pgsql_password = extlookup('bugzilla_pgsql','x')
$ldap_password = extlookup('bugzilla_ldap','x')
$bugzilla_secret_key = extlookup('bugzilla_secret_key','x')
postgresql::remote_db_and_user { 'bugs':
description => 'Bugzilla database',
password => $pgsql_password,
}
file { "$bugzilla_location/localconfig":
group => 'apache',
mode => '0640',
content => template('bugzilla/localconfig')
}
file { "$bugzilla_location/data/params.json":
group => 'apache',
mode => '0640',
content => template('bugzilla/params.json')
}
file { "$bugzilla_location/graphs":
ensure => directory,
owner => 'apache',
group => 'apache',
mode => '0770'
}
apache::webapp_other { 'bugzilla':
webapp_file => 'bugzilla/webapp_bugzilla.conf',
}
$bugs_vhost = "bugs.${::domain}"
$vhost_root = $bugzilla_location
apache::vhost::redirect_ssl { $bugs_vhost: }
apache::vhost::base { $bugs_vhost:
content => template('bugzilla/vhost.conf'),
aliases => { '/bugzilla/' => $vhost_root },
use_ssl => true,
location => $vhost_root,
vhost => $bugs_vhost,
enable_location => false,
}
git::snapshot { $bugzilla_location:
source => "git://git.${::domain}/web/bugs"
}
file { 'Mageia':
ensure => directory,
path => $bugzilla_location,
group => 'apache',
recurse => true,
require => Git::Snapshot[$bugzilla_location],
}
file { "$bugzilla_location/data":
ensure => directory,
owner => 'apache',
group => 'apache',
mode => '0770'
}
file { "$bugzilla_location/data/assets":
ensure => directory,
owner => 'apache',
group => 'apache',
mode => '0770'
}
file { "$bugzilla_location/robots.txt":
group => 'apache',
mode => '0640',
content => template('bugzilla/robots.txt')
}
file { "$bugzilla_location/data/bugzilla-update.xml":
owner => 'apache',
group => 'apache',
mode => '0640'
}
file { [
"$bugzilla_location/admin.cgi",
"$bugzilla_location/attachment.cgi",
"$bugzilla_location/buglist.cgi",
"$bugzilla_location/chart.cgi",
"$bugzilla_location/colchange.cgi",
"$bugzilla_location/config.cgi",
"$bugzilla_location/createaccount.cgi",
"$bugzilla_location/describecomponents.cgi",
"$bugzilla_location/describekeywords.cgi",
"$bugzilla_location/duplicates.cgi",
"$bugzilla_location/editclassifications.cgi",
"$bugzilla_location/editfields.cgi",
"$bugzilla_location/editgroups.cgi",
"$bugzilla_location/editmilestones.cgi",
"$bugzilla_location/editproducts.cgi",
"$bugzilla_location/editusers.cgi",
"$bugzilla_location/editversions.cgi",
"$bugzilla_location/editworkflow.cgi",
"$bugzilla_location/editcomponents.cgi",
"$bugzilla_location/editflagtypes.cgi",
"$bugzilla_location/editkeywords.cgi",
"$bugzilla_location/editparams.cgi",
"$bugzilla_location/editsettings.cgi",
"$bugzilla_location/editvalues.cgi",
"$bugzilla_location/editwhines.cgi",
"$bugzilla_location/enter_bug.cgi",
"$bugzilla_location/index.cgi",
"$bugzilla_location/jsonrpc.cgi",
"$bugzilla_location/page.cgi",
"$bugzilla_location/post_bug.cgi",
"$bugzilla_location/process_bug.cgi",
"$bugzilla_location/query.cgi",
"$bugzilla_location/quips.cgi",
"$bugzilla_location/relogin.cgi",
"$bugzilla_location/reports.cgi",
"$bugzilla_location/rest.cgi",
"$bugzilla_location/search_plugin.cgi",
"$bugzilla_location/show_bug.cgi",
"$bugzilla_location/showdependencytree.cgi",
"$bugzilla_location/testagent.cgi",
"$bugzilla_location/userprefs.cgi",
"$bugzilla_location/xmlrpc.cgi",
"$bugzilla_location/report.cgi",
"$bugzilla_location/request.cgi",
"$bugzilla_location/sanitycheck.cgi",
"$bugzilla_location/show_activity.cgi",
"$bugzilla_location/showdependencygraph.cgi",
"$bugzilla_location/summarize_time.cgi",
"$bugzilla_location/token.cgi",
"$bugzilla_location/votes.cgi",
"$bugzilla_location/checksetup.pl",
"$bugzilla_location/clean-bug-user-last-visit.pl",
"$bugzilla_location/collectstats.pl",
"$bugzilla_location/email_in.pl",
"$bugzilla_location/importxml.pl",
"$bugzilla_location/install-module.pl",
"$bugzilla_location/jobqueue.pl",
"$bugzilla_location/migrate.pl",
"$bugzilla_location/runtests.pl",
"$bugzilla_location/sanitycheck.pl",
"$bugzilla_location/testserver.pl",
"$bugzilla_location/whineatnews.pl",
"$bugzilla_location/whine.pl",
]:
group => 'apache',
mode => '0750',
}
cron { 'collectstats':
command => "cd $bugzilla_location && ./collectstats.pl",
user => 'apache',
hour => 2,
minute => 30,
}
cron { 'clean-bug-user-last-visit':
command => "cd $bugzilla_location && ./clean-bug-user-last-visit.pl",
user => 'apache',
hour => 3,
minute => 0,
}
cron { 'sanitycheck':
command => "cd $bugzilla_location && $bugzilla_location/sanitycheck.pl --login LpSolit@gmail.com",
user => 'apache',
hour => 21,
minute => 0,
}
}
|