notify the refresh_stunnel exec when the conf files change
[puppet_stunnel.git] / manifests / service.pp
1 define stunnel::service (
2   $ensure = present,
3   $accept = false,
4   $capath = false,
5   $cafile = false,
6   $cert = false,
7   $chroot = false,
8   $ciphers = false,
9   $client = false,
10   $compress = false,
11   $connect = false,
12   $crlpath = false,
13   $crlfile = false,
14   $debuglevel = false,
15   $delay = false,
16   $egd = false,
17   $engine = false,
18   $engineCtrl = false,
19   $enginenum = false,
20   $exec = false,
21   $execargs = false,
22   $failover = false,
23   $ident = false,
24   $key = false,
25   $local = false,
26   $oscp = false,
27   $ocspflag = false,
28   $options = false,
29   $output = false,
30   $pid = false,
31   $protocol = false,
32   $protocolauthentication = false,
33   $protocolhost = false,
34   $protocolpassword = false,
35   $protocolusername = false,
36   $pty = false,
37   $retry = false,
38   $rndbytes = false,
39   $rndfile = false,
40   $rndoverwrite = false,
41   $service = false,
42   $session = false,
43   $setuid = 'stunnel4',
44   $setgid = 'stunnel4',
45   $socket = [ 'l:TCP_NODELAY=1', 'r:TCP_NODELAY=1'],
46   $sslversion = 'SSLv3',
47   $stack = false,
48   $syslog = false,
49   $timeoutbusy = false,
50   $timeoutclose = false,
51   $timeoutconnect = false,
52   $timeoutidle = false,
53   $transparent = false,
54   $manage_nagios = false,
55   $verify = false
56 ) {
57
58   include stunnel
59
60   $real_client = $client ? { default => 'yes' }
61   $real_pid = $pid ? { false => "/${name}.pid", default => $pid }
62
63   $stunnel_compdir = "${::puppet_vardir}/stunnel4/configs"
64
65   file {
66     "${stunnel_compdir}/${name}.conf":
67       ensure  => $ensure,
68       content => template('stunnel/service.conf.erb'),
69       require => Package['stunnel'],
70       notify  => Exec['refresh_stunnel'],
71       owner   => 'root',
72       group   => 0,
73       mode    => '0600';
74   }
75
76   if $manage_nagios {
77     stunnel::service::nagios { $name: }
78   }
79 }