]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/vsftpd/manifests/site.pp
Do not mask vsftpd.service in each site
[dsa-puppet.git] / modules / vsftpd / manifests / site.pp
1 define vsftpd::site (
2         $root,
3         $bind='',
4         $chown_user='',
5         $writable=false,
6         $banner="${name} FTP Server",
7         $max_clients=100,
8         $logfile="/var/log/ftp/vsftpd-${name}.debian.org.log",
9         $ensure=present
10 ){
11
12         include vsftpd
13
14         case $ensure {
15                 present,absent: {}
16                 default: { fail ( "Invald ensure `$ensure' for $name" ) }
17         }
18
19         $ftpsite = $name
20
21         $fname = "/etc/vsftpd-${name}.conf"
22
23         file { $fname:
24                 ensure  => $ensure,
25                 content => template('vsftpd/vsftpd.conf.erb')
26         }
27
28         file { "/etc/logrotate.d/vsftpd-${name}":
29                 ensure => absent
30         }
31
32         munin::check { "vsftpd-${name}":
33                 script => 'vsftpd'
34         }
35         munin::conf { "vsftpd-${name}":
36                 content => template('vsftpd/munin.erb')
37         }
38
39         # We don't need a firewall rule because it's added in vsftp.pp
40         xinetd::service { "vsftpd-${name}":
41                 bind        => $bind,
42                 id          => "${name}-ftp",
43                 server      => '/usr/sbin/vsftpd',
44                 port        => 'ftp',
45                 server_args => $fname,
46                 ferm        => false,
47                 instances   => $max_clients,
48                 require     => File[$fname]
49         }
50
51         Service['vsftpd']->Service['xinetd']
52 }