introduce centos support
authormh <mh@immerda.ch>
Wed, 31 Mar 2010 00:13:08 +0000 (02:13 +0200)
committermh <mh@immerda.ch>
Wed, 31 Mar 2010 00:13:08 +0000 (02:13 +0200)
files/CentOS/stunnel.init [new file with mode: 0644]
manifests/centos.pp [new file with mode: 0644]
manifests/init.pp

diff --git a/files/CentOS/stunnel.init b/files/CentOS/stunnel.init
new file mode 100644 (file)
index 0000000..9b4b798
--- /dev/null
@@ -0,0 +1,137 @@
+#!/bin/bash
+#
+# Script to run stunnel in daemon mode at boot time.
+#
+# Check http://www.gaztronics.net/ for the
+# most up-to-date version of this script.
+#
+# This script is realeased under the terms of the GPL.
+# You can source a copy at:
+# http://www.fsf.org/copyleft/copyleft.html
+#
+# Please feel free to modify the script to suite your own needs.
+# I always welcome email feedback with suggestions for improvements.
+# Please do not email for general support. I do not have time to answer
+# personal help requests.
+
+# Author: Gary Myers MIIE MBCS
+# email: http://www.gaztronics.net/webform/
+# Revision 1.0  -  4th March 2005
+
+#====================================================================
+# Run level information:
+#
+# chkconfig: 2345 99 99
+# description: Secure Tunnel
+# processname: stunnel
+#
+# Run "/sbin/chkconfig --add stunnel" to add the Run levels.
+# This will setup the symlinks and set the process to run at boot.
+#====================================================================
+
+#====================================================================
+# Paths and variables and system checks.
+
+# Source function library (It's a Red Hat thing!)
+. /etc/rc.d/init.d/functions
+
+# Check that networking is up.
+#
+[ ${NETWORKING} ="yes" ] || exit 0
+
+# Path to the executable.
+#
+SEXE=/usr/sbin/stunnel
+
+# Path to the configuration file.
+#
+CONF=/etc/stunnel/stunnel.conf
+
+# Check the configuration file exists.
+#
+if [ ! -f $CONF ] ; then
+  echo "The configuration file cannot be found!"
+exit 0
+fi
+
+# Path to the lock file.
+#
+LOCK_FILE=/var/lock/subsys/stunnel
+
+#====================================================================
+
+#====================================================================
+# Run controls:
+
+prog=$"stunnel"
+
+RETVAL=0
+
+# Start stunnel as daemon.
+#
+start() {
+  if [ -f $LOCK_FILE ]; then
+    echo "stunnel is already running!"
+    exit 0
+  else
+    echo -n $"Starting $prog: "
+    $SEXE $CONF
+  fi
+
+  RETVAL=$?
+  [ $RETVAL -eq 0 ] && success 
+  echo
+  [ $RETVAL -eq 0 ] && touch $LOCK_FILE
+  return $RETVAL
+}
+
+
+# Stop stunnel.
+#
+stop() {
+  if [ ! -f $LOCK_FILE ]; then
+    echo "stunnel is not running!"
+    exit 0
+
+  else
+
+    echo -n $"Shutting down $prog: "
+    killproc stunnel
+    RETVAL=$?
+    [ $RETVAL -eq 0 ]
+     rm -f $LOCK_FILE
+    echo
+    return $RETVAL
+
+  fi
+}
+
+# See how we were called.
+case "$1" in
+   start)
+  start
+  ;;
+   stop)
+  stop
+  ;;
+   restart)
+  stop
+  start
+  ;;
+   condrestart)
+  if [ -f $LOCK_FILE ]; then
+     stop
+     start
+     RETVAL=$?
+  fi
+  ;;
+   status)
+  status stunnel
+  RETVAL=$?
+  ;;
+   *)
+    echo $"Usage: $0 {start|stop|restart|condrestart|status}"
+    RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/manifests/centos.pp b/manifests/centos.pp
new file mode 100644 (file)
index 0000000..9cde0ec
--- /dev/null
@@ -0,0 +1,23 @@
+class stunnel::centos inherits stunnel::base {
+
+  file{'/etc/init.d/stunnel':
+    source => [ "puppet://$server/modules/stunnel/${fqdn}/stunnel.init",
+    require => Package['stunnel'],
+    before => Service['stunnel'],
+    owner => root, group => 0, mode => 0600;
+  }
+
+  Service['stunnel']{
+    hasstatus => true,
+    require => File['/etc/init.d/stunnel']
+  }
+
+  file{'/etc/stunnel/stunnel.conf':
+    source => [ "puppet://$server/modules/site-stunnel/${fqdn}/stunnel.conf",
+                "puppet://$server/modules/site-stunnel/stunnel.conf",
+                "puppet://$server/modules/stunnel/${operatingsystem}/stunnel.conf" ],
+    require => Package['stunnel'],
+    notify => Service['stunnel'],
+    owner => root, group => 0, mode => 0600;
+  }
+}
index 3c3cbe4..b08058e 100644 (file)
@@ -25,6 +25,7 @@ class stunnel {
 
   case $operatingsystem {
     debian: { include stunnel::debian }
+    centos: { include stunnel::centos }
     default: { include stunnel::default }
   }