]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/vsftpd/manifests/site.pp
roll out to bizet
[dsa-puppet.git] / modules / vsftpd / manifests / site.pp
index bc66c95d277b086e79db15dbea3deaf33a0387e1..70e56b145ff557915edbcfb24abbd295e60b3407 100644 (file)
@@ -1,10 +1,11 @@
-class vsftpd::site (
+define vsftpd::site (
        $source='',
        $content='',
-       $ensure=present,
+       $bind='',
+       $ensure=present
 ){
 
-       include vsftpd
+       include vsftpd::nolisten
 
        if ($source and $content) {
                fail ( "Can't have both source and content for $name" )
@@ -15,20 +16,47 @@ class vsftpd::site (
                default: { fail ( "Invald ensure `$ensure' for $name" ) }
        }
 
+       $fname = "/etc/vsftpd-${name}.conf"
+
+       $noop = $::hostname ? {
+               bizet     => false,
+               gluck     => false,
+               lobos     => false,
+               saens     => false,
+               santoro   => false,
+               schein    => false,
+               steffani  => false,
+               villa     => false,
+               wieck     => false,
+               morricone => false,
+               default   => true
+       }
+
        if $source {
-               file { '/etc/vsftpd.conf':
+               file { $fname:
                        ensure => $ensure,
+                       noop   => $noop,
                        source => $source,
-                       notify => Service['vsftpd']
                }
        } elsif $content {
-               file { '/etc/vsftpd.conf':
+               file { $fname:
                        ensure  => $ensure,
+                       noop    => $noop,
                        content => $content,
-                       notify  => Service['vsftpd']
                }
        } else {
                fail ( "Need one of source or content for $name" )
        }
 
+       # We don't need a firewall rule because it's added in vsftp.pp
+       xinetd::service { "vsftpd-${name}":
+               bind        => $bind,
+               id          => "${name}-ftp",
+               server      => '/usr/sbin/vsftpd',
+               port        => 'ftp',
+               server_args => $fname,
+               ferm        => false,
+               require     => File[$fname]
+       }
+
 }