X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fvsftpd%2Fmanifests%2Fsite.pp;h=fc941f3b3a8d97d390d6ff0ac9061742a7c4fe5d;hb=fc12446d1c57ce8ffc3546f9a58c8e6f9cca404a;hp=04dcb20106e1e09585f6686bd879299d5ecd225b;hpb=14939bab78c7c6231e7b13a5b0e655e934b456f0;p=mirror%2Fdsa-puppet.git diff --git a/modules/vsftpd/manifests/site.pp b/modules/vsftpd/manifests/site.pp index 04dcb2010..fc941f3b3 100644 --- a/modules/vsftpd/manifests/site.pp +++ b/modules/vsftpd/manifests/site.pp @@ -1,16 +1,15 @@ -class vsftpd::site ( - $source='', - $content='', - $bind=$::ipaddress, +define vsftpd::site ( + $root, + $bind='', + $chown_user='', + $writable=false, + $banner="${name} FTP Server", + $max_clients=100, + $logfile="/var/log/ftp/vsftpd-${name}.debian.org.log", $ensure=present ){ include vsftpd - include vsftpd::nolisten - - if ($source and $content) { - fail ( "Can't have both source and content for $name" ) - } case $ensure { present,absent: {} @@ -19,30 +18,27 @@ class vsftpd::site ( $fname = "/etc/vsftpd-${name}.conf" - if $source { - file { $fname: - ensure => $ensure, - noop => true, - source => $source, - } - } elsif $content { - file { $fname: - ensure => $ensure, - noop => true, - content => $content, - } - } else { - fail ( "Need one of source or content for $name" ) + file { $fname: + ensure => $ensure, + content => template('vsftpd/vsftpd.conf.erb') + } + + 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 => $max_clients, + require => File[$fname] } + Service['vsftpd']->Service['xinetd'] }