Puppet Class: openvpn::softwarerepo

Inherits:
openvpn::params
Defined in:
manifests/softwarerepo.pp

Overview

Class: openvpn::softwarerepo

Setup OpenVPN project’s software repository, if requested. This class depends on the “puppetlabs/apt” puppet module:

<forge.puppetlabs.com/puppetlabs/apt>

Parameters:

  • repository (Optional[Enum['stable','testing','release/2.3','release/2.4']]) (defaults to: undef)


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
# File 'manifests/softwarerepo.pp', line 9

class openvpn::softwarerepo
(
    Optional[Enum['stable','testing','release/2.3','release/2.4']] $repository = undef

) inherits openvpn::params
{

    if $::osfamily == 'Debian' {

        $ensure_source = $repository ? {
            undef   => 'absent',
            default => 'present',
        }
        include ::apt

        apt::source { 'openvpn-aptrepo':
            ensure   => $ensure_source,
            location => "http://build.openvpn.net/debian/openvpn/${repository}",
            release  => $::lsbdistcodename,
            repos    => 'main',
            pin      => '501',
            key      => {
                'id'     => '30EBF4E73CCE63EEE124DD278E6DA8B4E158C569',
                'source' => 'https://swupdate.openvpn.net/repos/repo-public.gpg',
            }
        }
    } elsif $::kernel == 'windows' {
        include ::chocolatey
    }
}