aboutsummaryrefslogtreecommitdiffstats
path: root/modules/bugzilla/manifests/init.pp
blob: 30585fddbce4d14c30440afcd048e33be25723a8 (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
class bugzilla {

    $bugzilla_location = '/usr/share/bugzilla/template/en/custom'

    $extension_location = '/usr/share/bugzilla/extensions/Mageia'

    package {['bugzilla',
    	      'bugzilla-extension-sitemap',
              'graphviz',
              'perl-Template-GD', # needed for graphical_report support
              'perl-Test-Taint',
              'perl-JSON-RPC']: }

    $pgsql_password = extlookup('bugzilla_pgsql','x')
    $ldap_password = extlookup('bugzilla_ldap','x')

    postgresql::remote_db_and_user { 'bugs':
        description => 'Bugzilla database',
        password    => $pgsql_password,
    }

    file { '/etc/bugzilla/localconfig':
      group   => 'apache',
      mode    => '0640',
      content => template('bugzilla/localconfig'),
      require => Package['bugzilla'],
    }


    file { '/var/lib/bugzilla/params':
      group   => 'apache',
      mode    => '0640',
      content => template('bugzilla/params'),
      require => Package['bugzilla'],
    }

    apache::webapp_other { 'bugzilla':
        webapp_file => 'bugzilla/webapp_bugzilla.conf',
    }

    $bugs_vhost = "bugs.$::domain"
    $vhost_root = '/usr/share/bugzilla/www'

    apache::vhost::redirect_ssl { $bugs_vhost: }

    apache::vhost::base { $bugs_vhost:
        aliases  => { '/bugzilla/' => $vhost_root },
        use_ssl  => true,
        location => $vhost_root,
        vhost    => $bugs_vhost,
    }

    git::snapshot { $extension_location:
      source  => "git://git.$::domain/web/templates/bugzilla",
      require => Package['bugzilla'],
    }

    file { 'Mageia':
      ensure  => directory,
      path    => '/usr/share/bugzilla/extensions',
      group   => 'apache',
      mode    => '0640',
      recurse => true,
      require => Git::Snapshot[$extension_location],
    }

    file { '/usr/share/bugzilla/www/robots.txt':
      group   => 'apache',
      mode    => '0640',
      content => template('bugzilla/robots.txt'),
      require => Package['bugzilla-extension-sitemap'],
    }

    cron { 'collectstats':
        command => '/usr/share/bugzilla/bin/collectstats.pl',
        user    => 'apache',
        hour    => 2,
        minute  => 30,
    }
}