summaryrefslogtreecommitdiff
path: root/puppet/modules/stunnel/manifests/init.pp
diff options
context:
space:
mode:
authorMicah <micah@leap.se>2016-07-12 16:46:21 -0400
committerMicah <micah@leap.se>2016-07-12 16:46:21 -0400
commit04279dd8d1390d61d696d2c14817199304ccd4d8 (patch)
treebd6b3cf6f612f822ca3aa6823287f87f7c784390 /puppet/modules/stunnel/manifests/init.pp
parent297fadc8e6ad4729589d4ec21683f05a1e50bdf9 (diff)
git subrepo clone https://leap.se/git/puppet_stunnel puppet/modules/stunnel
subrepo: subdir: "puppet/modules/stunnel" merged: "523612f" upstream: origin: "https://leap.se/git/puppet_stunnel" branch: "master" commit: "523612f" git-subrepo: version: "0.3.0" origin: "https://github.com/ingydotnet/git-subrepo" commit: "1e79595" Change-Id: If384c84c99d9cabc67d2b4b9d7d2fbfa4a47550a
Diffstat (limited to 'puppet/modules/stunnel/manifests/init.pp')
-rw-r--r--puppet/modules/stunnel/manifests/init.pp65
1 files changed, 65 insertions, 0 deletions
diff --git a/puppet/modules/stunnel/manifests/init.pp b/puppet/modules/stunnel/manifests/init.pp
new file mode 100644
index 00000000..544ac04e
--- /dev/null
+++ b/puppet/modules/stunnel/manifests/init.pp
@@ -0,0 +1,65 @@
+#
+# stunnel puppet module
+#
+# Copyright 2009, Riseup Networks <micah@riseup.net>
+#
+#
+# This program is free software; you can redistribute
+# it and/or modify it under the terms of the GNU
+# General Public License version 3 as published by
+# the Free Software Foundation.
+#
+# 1. include stunnel: this will automatically include stunnel::debian,
+# which automatically includes stunnel::linux, which automatically
+# includes stunnel::base
+# 2. stunnel::client allows you to configure different /etc/stunnel/*.conf files
+# to provide various stunnel configurations
+
+# TODO: warn on cert/key issues, fail on false accept?
+
+class stunnel (
+ $ensure_version = 'present',
+ $startboot = '1',
+ $default_extra = '',
+ $cluster = '' )
+{
+
+ case $::operatingsystem {
+ debian: { class { 'stunnel::debian': } }
+ centos: { class { 'stunnel::centos': } }
+ default: { class { 'stunnel::default': } }
+ }
+
+ $stunnel_staging = "${::puppet_vardir}/stunnel4"
+ $stunnel_compdir = "${stunnel_staging}/configs"
+
+ file {
+ [ $stunnel_staging, "${stunnel_staging}/bin" ]:
+ ensure => directory,
+ owner => 0,
+ group => 0,
+ mode => '0750';
+
+ "${stunnel_staging}/configs":
+ ensure => directory,
+ owner => 0,
+ group => 0,
+ mode => '0750',
+ recurse => true,
+ purge => true,
+ force => true,
+ source => undef,
+ notify => Exec['refresh_stunnel'];
+
+ "${stunnel_staging}/bin/refresh_stunnel.sh":
+ owner => 0,
+ group => 0,
+ mode => '0755',
+ content => template('stunnel/refresh_stunnel.sh.erb');
+ }
+
+ exec { 'refresh_stunnel':
+ command => "${stunnel_staging}/bin/refresh_stunnel.sh",
+ require => [ Package['stunnel4'], File['/etc/default/stunnel4'] ]
+ }
+}