puppet/openvpn/manifests/init.pp

55 lines
1.3 KiB
Puppet

# Install openvpn client
#
class openvpn::client {
package { "openvpn":
ensure => installed,
}
service { "openvpn":
ensure => running,
enable => true,
require => Package["openvpn"],
require => File["/etc/openvpn/openvpn.conf"],
require => File["/etc/openvpn/ta.key"],
require => File["/etc/openvpn/ca.crt"],
}
file { "/etc/openvpn/openvpn.conf":
ensure => present,
content => template("openvpn/openvpn.conf.erb"),
mode => 0640,
owner => root,
group => root,
notify => Service["openvpn"],
require => Package["openvpn"],
}
file { "/etc/openvpn/ta.key":
ensure => present,
source => "puppet:///files/openvpn/ta.key",
mode => 0640,
owner => root,
group => root,
require => Package["openvpn"],
}
file { "/etc/openvpn/ca.crt":
ensure => present,
source => "puppet:///files/openvpn/ca.crt",
mode => 0640,
owner => root,
group => root,
require => Package["openvpn"],
}
if !$openvpn_server {
$openvpn_server = "127.0.0.1"
}
if !$openvpn_port {
$openvp_port = "1194"
}
if !$openvpn_ca {
$openvpn_ca = "ca.crt"
}
if !$openvpn_ta {
$openvp_ta = "ta.key"
}
}