Puppet Class: releases::reprepro

Defined in:
modules/releases/manifests/reprepro.pp

Overview

Class: releases::reprepro

Configures reprepro for releases.wikimedia.org

This configuration will keep everything reprepro-related under $basedir,
save for the exported files which are published under $outdir and thus
under the releases document root.

Packages can be uploaded into $incomingdir in the form of .changes files,
currently any valid gpg signature will be allowed (i.e. any key that's in
the public keyring).

The result will be signed by the default key present in the secret
keyring.

WARNING:

This module seems to be unused at the moment, you should probably look into
install_server::apt_repository instead.

Parameters:

  • basedir (Stdlib::Unixpath) (defaults to: '/srv/org/wikimedia/reprepro')
  • outdir (Stdlib::Unixpath) (defaults to: '/srv/org/wikimedia/releases/debian')
  • homedir (Stdlib::Unixpath) (defaults to: '/var/lib/reprepro')
  • incomingdir (Stdlib::Unixpath) (defaults to: "${basedir}/incoming")


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
# File 'modules/releases/manifests/reprepro.pp', line 20

class releases::reprepro (
    Stdlib::Unixpath $basedir = '/srv/org/wikimedia/reprepro',
    Stdlib::Unixpath $outdir = '/srv/org/wikimedia/releases/debian',
    Stdlib::Unixpath $homedir = '/var/lib/reprepro',
    Stdlib::Unixpath $incomingdir = "${basedir}/incoming",
) {

    class { '::aptrepo':
        basedir         => $basedir,
        homedir         => $homedir,
        options         => ["outdir ${outdir}"],
        gpg_pubring     => 'releases/pubring.gpg',
        gpg_secring     => 'releases/secring.gpg',
        incomingdir     => $incomingdir,
        authorized_keys => ['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIRN3017QJUoewK7PIKwMo2ojSl4Mu/YxDZC4NsryXmi4kKlCTN0DTeyVSlnDei56EngwYP1crshCCDZAzFECRMV5Hr3NmS/J+ICR0z6GQztd7bQEORot38wxOkOCXBtmqMgztAqyYv6SH3Qfn9qmjrw6/yW0lLqg6cejmYXF61YEYrXyZJm+hjOD1oaYsCdjkuE+3Ob+8t6KvTcvjxarr99RRcuKp67j+7g/HRzxDKGi8/Z8/wFIBu50W/6idhjyPzYIunU5ThFmcpHUdry4jTB1/whuec70wsgcdC6EKPVVp00BfSwBaRJKlVCMWvI1VilLpMC2WtLZXpSQ5iTJ1'],
    }

    file { $outdir:
        ensure  => directory,
        owner   => 'reprepro',
        group   => 'reprepro',
        mode    => '0755',
        require => Class['::aptrepo'],
    }

    class { '::aptrepo::distribution':
        basedir  => $basedir,
        settings => {
            'jessie' => {
                'Origin'        => 'MediaWiki',
                'Label'         => 'MediaWiki',
                'Suite'         => 'jessie-mediawiki',
                'Codename'      => 'jessie-mediawiki',
                'AlsoAcceptFor' => 'jessie',
                'Version'       => '8',
                'Architectures' => 'source amd64 i386',
                'Components'    => 'main',
                'Description'   => 'MediaWiki packages for Debian jessie',
                'SignWith'      => 'default',
                'Log'           => "jessie-mediawiki\n  log",
            },
        },
    }
}