]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/stunnel4/manifests/init.pp
58d0891a9c59e87f61598f8b9c11b07d4cbf1a3e
[dsa-puppet.git] / modules / stunnel4 / manifests / init.pp
1 class stunnel4 {
2     # define an stunnel listener, listening for SSL connections on $accept,
3     # connecting to plaintext service $connect using local source address $local
4     define stunnel_server($accept, $connect, $local = "127.0.0.1") {
5         file {
6             "/etc/stunnel/puppet-${name}.conf":
7                 content => template("stunnel4/server.conf.erb"),
8                 notify  => Exec['restart_stunnel'],
9                 ;
10         }
11     }
12
13
14     package {
15         "stunnel4": ensure => installed;
16     }
17
18     file {
19         "/etc/stunnel/stunnel.conf":
20             ensure => absent,
21             ;
22     }
23
24     exec {
25         "enable_stunnel4":
26                 command => "sed -i -e 's/^ENABLED=/#&/; \$a ENABLED=1 # added by puppet' /etc/default/stunnel4",
27                 unless => "grep -q '^ENABLED=1' /etc/default/stunnel4",
28                 require => [ Package['stunnel4'] ],
29                 ;
30         "restart_stunnel":
31                 command => "env -i /etc/init.d/stunnel4 restart",
32                 require => [ File['/etc/stunnel/stunnel.conf'], Exec['enable_stunnel4'], Package['stunnel4'] ],
33                 ;
34     }
35 }
36
37 # vim:set et:
38 # vim:set sts=4 ts=4:
39 # vim:set shiftwidth=4: