X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fvsftpd%2Fmanifests%2Fsite.pp;h=4adb08a9dabc7e4d9572692202783001a1b7015e;hb=a001db15a8463b3aac135b05343aca2ac7dc2aa9;hp=a2ca6cb29e2c3f91ad643853fa325af83c70897f;hpb=ca0302fc180922a0843bd5f25fae104f14dff374;p=mirror%2Fdsa-puppet.git diff --git a/modules/vsftpd/manifests/site.pp b/modules/vsftpd/manifests/site.pp index a2ca6cb29..4adb08a9d 100644 --- a/modules/vsftpd/manifests/site.pp +++ b/modules/vsftpd/manifests/site.pp @@ -1,61 +1,40 @@ define vsftpd::site ( - $source='', - $content='', + $root, $bind='', + $chown_user='', + $writable=false, + $writable_other=false, + $banner="${name} FTP Server", + $max_clients=100, $logfile="/var/log/ftp/vsftpd-${name}.debian.org.log", $ensure=present ){ - include vsftpd::nolisten - - if ($source and $content) { - fail ( "Can't have both source and content for $name" ) - } + include vsftpd case $ensure { present,absent: {} default: { fail ( "Invald ensure `$ensure' for $name" ) } } + $ftpsite = $name + $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 + file { $fname: + ensure => $ensure, + content => template('vsftpd/vsftpd.conf.erb') } - if $source { - file { $fname: - ensure => $ensure, - noop => $noop, - source => $source, - } - } elsif $content { - file { $fname: - ensure => $ensure, - noop => $noop, - content => $content, - } - } else { - fail ( "Need one of source or content for $name" ) + file { "/etc/logrotate.d/vsftpd-${name}": + ensure => absent } - file { "/etc/logrotate.d/vsftpd-${name}": - ensure => $ensure, - content => template('vsftpd/logrotate.erb') + munin::check { "vsftpd-${name}": + script => 'vsftpd' + } + munin::conf { "vsftpd-${name}": + content => template('vsftpd/munin.erb') } # We don't need a firewall rule because it's added in vsftp.pp @@ -63,11 +42,12 @@ define vsftpd::site ( bind => $bind, id => "${name}-ftp", server => '/usr/sbin/vsftpd', - port => 'ftp', + service => 'ftp', server_args => $fname, ferm => false, - instances => 200, + instances => $max_clients, require => File[$fname] } + Service['vsftpd']->Service['xinetd'] }