aboutsummaryrefslogtreecommitdiffstats
path: root/modules/bugzilla/manifests/init.pp
blob: f07368b082a795443d269090375e806c1bee308a (plain)
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@netscape.net",
        user    => 'apache',
        hour    => 21,
        minute  => 0,
    }

}