Note that exim contains tracker-specific configuration
[mirror/dsa-puppet.git] / modules / roles / manifests / jenkins.pp
1 # the jenkins.debian.org CI system
2 class roles::jenkins {
3   include roles::sso_rp
4
5   include apache2
6   include apache2::auth_digest
7   include apache2::authn_file
8   include apache2::proxy_http
9   include apache2::rewrite
10   include apache2::ssl
11
12   apache2::site { '010-jenkins.debian.org':
13     site   => 'jenkins.debian.org',
14     source => 'puppet:///modules/roles/jenkins/jenkins.debian.org',
15   }
16
17   ssl::service { 'jenkins.debian.org':
18     notify => Exec['service apache2 reload'],
19     key    => true,
20   }
21
22   dsa_systemd::linger { 'jenkins': }
23
24   file { '/etc/sudoers.d/jenkins':
25     mode   => '0440',
26     source => 'puppet:///modules/roles/jenkins/sudoers',
27   }
28
29   ensure_packages([
30     'debian.org-jenkins.debian.org'
31   ], { ensure => 'installed' })
32
33
34   # home directories
35   file { [
36       '/srv/jenkins.debian.org',
37       '/srv/jenkins.debian.org/home-adm'
38     ]:
39       ensure => directory,
40       mode   => '2755',
41       owner  => 'jenkins-adm',
42       group  => 'jenkins-adm',
43   }
44   file { '/home/jenkins-adm':
45     ensure => link,
46     target => '/srv/jenkins.debian.org/home-adm',
47   }
48   file { '/srv/jenkins.debian.org/home-unpriv':
49       ensure => directory,
50       mode   => '2755',
51       owner  => 'jenkins',
52       group  => 'jenkins',
53   }
54   file { '/home/jenkins':
55     ensure => link,
56     target => '/srv/jenkins.debian.org/home-unpriv',
57   }
58 }