Puppet Class: openvpn::params
- Inherited by:
-
openvpn
openvpn::install
openvpn::service
openvpn::buildenv
openvpn::softwarerepo
openvpn::config::jessie
openvpn::install::ldapplugin
- Defined in:
- manifests/params.pp
Overview
Class: openvpn::params
Defines some variables based on the operating system
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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'manifests/params.pp', line 6
class openvpn::params {
include ::os::params
case $::osfamily {
'RedHat': {
$package_name = 'openvpn'
$package_require = undef
$ldapplugin_package_name = 'openvpn-auth-ldap'
$package_install_options = undef
$config_ext = 'conf'
$service_name = 'openvpn'
$pid_dir = '/var/run/openvpn'
$pidfile_prefix = undef
$build_deps = [ 'lzo-devel', 'openssl-devel', 'pam-devel', 'pkcs11-helper-devel', 'gnutls-devel', 'autoconf', 'libtool', 'make', 'cmake' ]
$config_dir = '/etc/openvpn'
$nobody = 'nobody'
$nogroup = 'nobody'
$up_script = undef
$down_script = undef
$default_seluser = 'system_u'
$default_selrole = 'object_r'
$default_seltype = 'openvpn_etc_t'
$default_seltype_rw = 'openvpn_etc_rw_t'
}
'Debian': {
$package_name = 'openvpn'
$package_require = undef
$package_install_options = undef
$ldapplugin_package_name = 'openvpn-auth-ldap'
$config_ext = 'conf'
$service_name = 'openvpn'
case $::lsbdistcodename {
/(xenial|stretch)/: {
$pid_dir = '/run/openvpn'
$pidfile_prefix = undef
}
'trusty': {
$pid_dir = '/var/run/openvpn'
$pidfile_prefix = undef
}
default: {
$pid_dir = '/var/run'
$pidfile_prefix = 'openvpn.'
}
}
$build_deps = [ 'liblzo2-dev', 'libssl-dev', 'libpam-dev', 'libpkcs11-helper-dev', 'libtool', 'autoconf', 'make', 'cmake' ]
$config_dir = '/etc/openvpn'
$nobody = 'nobody'
$nogroup = 'nogroup'
$up_script = '/etc/openvpn/update-resolv-conf'
$down_script = '/etc/openvpn/update-resolv-conf'
}
'windows': {
$package_name = 'openvpn'
$package_require = Class['chocolatey']
$package_install_options = undef
$config_dir = 'C:\Program Files\OpenVPN\config'
# This ridiculous-looking escaping is needed by openvpn-client.conf.erb
$config_dir_esc = 'C:\\\\Program Files\\\\OpenVPN\\\\config'
$config_ext = 'ovpn'
$service_name = 'openvpnservice'
}
default: {
fail("Unsupported operating system: ${::osfamily}/${::operatingsystem}")
}
}
# In practice only RedHat derivatives have selinux enabled; however, with this construct
# we can easily add support for Debian by adding the default_sel* parameters above.
if $::facts['kernel'] == 'Linux' {
if $::facts['os']['selinux']['enabled'] {
$seluser = $default_seluser
$selrole = $default_selrole
$seltype = $default_seltype
$seltype_rw = $default_seltype_rw
} else {
$seluser = undef
$selrole = undef
$seltype = undef
$seltype_rw = undef
}
} else {
$seluser = undef
$selrole = undef
$seltype = undef
$seltype_rw = undef
}
if str2bool($::has_systemd) {
$service_start = "${::os::params::systemctl} start ${service_name}"
$service_stop = "${::os::params::systemctl} stop ${service_name}"
} else {
$service_start = "${::os::params::service_cmd} ${service_name} start"
$service_stop = "${::os::params::service_cmd} ${service_name} stop"
}
}
|