summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaffael Schmid <raffael@yux.ch>2012-02-10 17:49:28 +0100
committerRaffael Schmid <raffael@yux.ch>2012-02-10 17:49:28 +0100
commit923f9a5d8b0a16a9a849a34c2a3a0dbba6339257 (patch)
treeb296f03b4444f10679d02fb492daef876e401c6e
parentc6f9e4ff4ac280e4be7ddfee1d037b4a29ae787c (diff)
update module to use concat instead of concatfilepart
-rw-r--r--manifests/client.pp14
-rw-r--r--manifests/init.pp24
-rw-r--r--manifests/option.pp17
-rw-r--r--manifests/server.pp27
4 files changed, 55 insertions, 27 deletions
diff --git a/manifests/client.pp b/manifests/client.pp
index 4e443e4..82e498a 100644
--- a/manifests/client.pp
+++ b/manifests/client.pp
@@ -121,10 +121,22 @@ define openvpn::client($server, $remote_host = $fqdn) {
cwd => "/etc/openvpn/${server}/download-configs/",
command => "rm ${name}.tar.gz; tar --exclude=\\*.conf.d -chzvf ${name}.tar.gz ${name}",
refreshonly => true,
- subscribe => Exec["/etc/openvpn/${server}/download-configs/${name}/${name}.conf concatenation"],
require => [ File["/etc/openvpn/${server}/download-configs/${name}/${name}.conf"],
File["/etc/openvpn/${server}/download-configs/${name}/keys/ca.crt"],
File["/etc/openvpn/${server}/download-configs/${name}/keys/${name}.key"],
File["/etc/openvpn/${server}/download-configs/${name}/keys/${name}.crt"] ];
}
+
+
+ concat {
+ [ "/etc/openvpn/${server}/client-configs/${name}", "/etc/openvpn/${server}/download-configs/${name}/${name}.conf" ]:
+ owner => root,
+ group => root,
+ mode => 644,
+ warn => true,
+ force => true,
+ notify => Exec["tar the thing ${server} with ${name}"],
+ require => [ File["/etc/openvpn"], File["/etc/openvpn/${server}/download-configs/${name}"] ];
+ }
+
}
diff --git a/manifests/init.pp b/manifests/init.pp
index 55dac85..7e7fe32 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -10,7 +10,7 @@ class openvpn {
ensure => running,
hasrestart => true,
hasstatus => true,
- require => Exec["/etc/default/openvpn concatenation"];
+ require => Exec["concat_/etc/default/openvpn"];
}
file {
"/etc/openvpn":
@@ -22,11 +22,23 @@ class openvpn {
ensure => directory,
require => File["/etc/openvpn"];
}
- common::concatfilepart {
- "00-etc-default-openvpn header":
- ensure => present,
+
+ include concat::setup
+
+ concat {
+ "/etc/default/openvpn":
+ owner => root,
+ group => root,
+ mode => 644,
+ warn => true,
+ notify => Service["openvpn"];
+ }
+
+ concat::fragment {
+ "openvpn.default.header":
content => template("openvpn/etc-default-openvpn.erb"),
- notify => Service["openvpn"],
- file => "/etc/default/openvpn";
+ target => "/etc/default/openvpn",
+ order => 01;
}
+
}
diff --git a/manifests/option.pp b/manifests/option.pp
index 8c2a7a2..5cadb31 100644
--- a/manifests/option.pp
+++ b/manifests/option.pp
@@ -1,6 +1,6 @@
# option.pp
-define openvpn::option($ensure = present, $key, $value = "", $server, $client = "", $csc = false) {
+define openvpn::option($key, $value = "", $server, $client = "", $csc = false) {
$content = $value ? {
"" => "${key}",
default => "${key} ${value}"
@@ -8,24 +8,17 @@ define openvpn::option($ensure = present, $key, $value = "", $server, $client =
if $client == "" {
$path = "/etc/openvpn/${server}.conf"
- $req = File["/etc/openvpn"]
- $notify = Service["openvpn"]
} else {
if $csc {
$path = "/etc/openvpn/${server}/client-configs/${client}"
} else {
$path = "/etc/openvpn/${server}/download-configs/${client}/${client}.conf"
}
- $req = [ File["/etc/openvpn"], File["/etc/openvpn/${server}/download-configs/${client}"] ]
- $notify = undef
}
- common::concatfilepart {
- "${name}":
- ensure => $ensure,
- file => $path,
- content => "${content}\n",
- notify => $notify,
- require => $req;
+ concat::fragment {
+ "openvpn.${server}.${client}.${name}":
+ target => $path,
+ content => "${content}\n";
}
}
diff --git a/manifests/server.pp b/manifests/server.pp
index 2bf2f64..b279b02 100644
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -29,7 +29,7 @@ define openvpn::server($country, $province, $city, $organization, $email) {
content => template("openvpn/vars.erb"),
require => Exec["copy easy-rsa to openvpn config folder ${name}"];
}
-
+
exec {
"generate dh param ${name}":
command => ". ./vars && ./clean-all && ./build-dh",
@@ -37,14 +37,14 @@ define openvpn::server($country, $province, $city, $organization, $email) {
creates => "/etc/openvpn/${name}/easy-rsa/keys/dh1024.pem",
provider => "shell",
require => File["/etc/openvpn/${name}/easy-rsa/vars"];
-
+
"initca ${name}":
command => ". ./vars && ./pkitool --initca",
cwd => "/etc/openvpn/${name}/easy-rsa",
creates => "/etc/openvpn/${name}/easy-rsa/keys/ca.key",
provider => "shell",
require => Exec["generate dh param ${name}"];
-
+
"generate server cert ${name}":
command => ". ./vars && ./pkitool --server server",
cwd => "/etc/openvpn/${name}/easy-rsa",
@@ -82,11 +82,22 @@ define openvpn::server($country, $province, $city, $organization, $email) {
require => Exec["generate dh param ${name}"],
server => "${name}";
}
-
- common::concatfilepart {
- "etc-default-openvpn autostart for ${name}":
- ensure => present,
+
+ concat::fragment {
+ "openvpn.default.autostart.${name}":
content => "AUTOSTART=\"\$AUTOSTART ${name}\"\n",
- file => "/etc/default/openvpn";
+ target => "/etc/default/openvpn",
+ order => 10;
+ }
+
+ concat {
+ "/etc/openvpn/${name}.conf":
+ owner => root,
+ group => root,
+ mode => 644,
+ warn => true,
+ require => File["/etc/openvpn"],
+ notify => Service["openvpn"];
}
+
}