]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/vsftpd/manifests/site.pp
we probably want to logrotate these files
[dsa-puppet.git] / modules / vsftpd / manifests / site.pp
index efacf705d4dcb2a7f53baa6a17b6839c2dc347ab..a2ca6cb29e2c3f91ad643853fa325af83c70897f 100644 (file)
@@ -1,7 +1,8 @@
-class vsftpd::site (
+define vsftpd::site (
        $source='',
        $content='',
-       $bind=$::ipaddress,
+       $bind='',
+       $logfile="/var/log/ftp/vsftpd-${name}.debian.org.log",
        $ensure=present
 ){
 
@@ -18,30 +19,55 @@ class vsftpd::site (
 
        $fname = "/etc/vsftpd-${name}.conf"
 
+       $noop = $::hostname ? {
+               bizet     => false,
+               franck    => false,
+               gluck     => false,
+               lobos     => false,
+               kassia    => false,
+               klecker   => false,
+               ravel     => false,
+               saens     => false,
+               santoro   => false,
+               schein    => false,
+               steffani  => false,
+               villa     => false,
+               wieck     => false,
+               morricone => false,
+               default   => true
+       }
+
        if $source {
                file { $fname:
                        ensure => $ensure,
-                       noop   => true,
+                       noop   => $noop,
                        source => $source,
                }
        } elsif $content {
                file { $fname:
                        ensure  => $ensure,
-                       noop    => true,
+                       noop    => $noop,
                        content => $content,
                }
        } else {
                fail ( "Need one of source or content for $name" )
        }
 
+       file { "/etc/logrotate.d/vsftpd-${name}":
+               ensure  => $ensure,
+               content => template('vsftpd/logrotate.erb')
+       }
+
        # We don't need a firewall rule because it's added in vsftp.pp
        xinetd::service { "vsftpd-${name}":
                bind        => $bind,
-               id          => $name,
+               id          => "${name}-ftp",
                server      => '/usr/sbin/vsftpd',
                port        => 'ftp',
                server_args => $fname,
                ferm        => false,
+               instances   => 200,
+               require     => File[$fname]
        }
 
 }