aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/manifests/binrepo.pp
blob: f2f529c0f302abe0b3e232a039577188ea828cb8 (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
class buildsystem::binrepo {
    include buildsystem::var::binrepo
    include buildsystem::var::groups
    include sudo

    # upload-bin script use the mailx command provided by nail
    package { 'nail':
        ensure => installed,
    }

    user { $buildsystem::var::binrepo::login:
        home    => $buildsystem::var::binrepo::homedir,
    }

    file { [$buildsystem::var::binrepo::repodir, $buildsystem::var::binrepo::uploadinfosdir]:
        ensure => directory,
        owner  => $buildsystem::var::binrepo::login,
    }

    mga_common::local_script {
        'upload-bin':
            content => template('buildsystem/binrepo/upload-bin');
        'wrapper.upload-bin':
            content => template('buildsystem/binrepo/wrapper.upload-bin');
    }

    sudo::sudoers_config { 'binrepo':
        content => template('buildsystem/binrepo/sudoers.binrepo')
    }

    apache::vhost::base { $buildsystem::var::binrepo::hostname:
        location => $buildsystem::var::binrepo::repodir,
        content  => template('buildsystem/binrepo/vhost_binrepo.conf'),
    }

    apache::vhost::base { "ssl_${buildsystem::var::binrepo::hostname}":
        use_ssl => true,
        vhost => $buildsystem::var::binrepo::hostname,
        location => $buildsystem::var::binrepo::repodir,
        content  => template('buildsystem/binrepo/vhost_binrepo.conf'),
    }
}