]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
reorganize vsftp::site
authorStephen Gran <steve@lobefin.net>
Sun, 29 Apr 2012 09:19:39 +0000 (10:19 +0100)
committerStephen Gran <steve@lobefin.net>
Sun, 29 Apr 2012 09:19:39 +0000 (10:19 +0100)
Signed-off-by: Stephen Gran <steve@lobefin.net>
12 files changed:
modules/roles/manifests/backports_master.pp
modules/roles/manifests/ftp.pp
modules/roles/manifests/ftp_upload.pp
modules/roles/manifests/security_master.pp
modules/roles/manifests/security_mirror.pp
modules/roles/templates/backports_master/vsftpd.conf.erb [deleted file]
modules/roles/templates/ftp/vsftpd.conf.erb [deleted file]
modules/roles/templates/ftp_upload/vsftpd.conf.erb [deleted file]
modules/roles/templates/security_master/vsftpd.conf.erb [deleted file]
modules/roles/templates/security_mirror/vsftpd.conf.erb [deleted file]
modules/vsftpd/manifests/site.pp
modules/vsftpd/templates/vsftpd.conf.erb [new file with mode: 0644]

index f9443b0ee47533f95bbe0f1057bc50c754415936..44c5d44962fdbca3f640ac148a0213a324d17db9 100644 (file)
@@ -2,28 +2,11 @@ class roles::backports_master {
 
        include roles::backports_mirror
 
-       $bind = $::hostname ? {
-               default => '',
-       }
-
-       $bind6 = $::hostname ? {
-               default => '',
-       }
-
-       $logfile = '/var/log/ftp/vsftpd-backports-master.debian.org.log'
-
        vsftpd::site { 'backports':
-               content => template('roles/backports_master/vsftpd.conf.erb'),
-               logfile => $logfile,
-               bind    => $bind,
-       }
-
-       if $bind6 {
-               vsftpd::site { 'backports-v6':
-                       content => template('roles/backports_mirror/vsftpd.conf.erb'),
-                       logfile => $logfile,
-                       bind    => $bind6,
-               }
+               banner     => 'backports-master.debian.org FTP server',
+               logfile    => '/var/log/ftp/vsftpd-backports-master.debian.org.log',
+               writable   => true,
+               chown_user => dak,
+               root       => '/srv/backports-upload',
        }
-
 }
index febecf6ef8f498625952a84608daf3a0b70120d5..0ae4254e569390e21cbb326151ab1380acc56e38 100644 (file)
@@ -12,19 +12,21 @@ class roles::ftp {
                default => '',
        }
 
-       $logfile = '/var/log/ftp/vsftpd-ftp.debian.org.log'
-
        vsftpd::site { 'ftp':
-               content => template('roles/ftp/vsftpd.conf.erb'),
-               logfile => $logfile,
-               bind    => $bind,
+               banner       => 'ftp.debian.org FTP server',
+               logfile      => '/var/log/ftp/vsftpd-ftp.debian.org.log',
+               bind         => $bind,
+               max_clients  => 200,
+               root         => '/srv/ftp.debian.org/ftp.root',
        }
 
        if $bind6 {
                vsftpd::site { 'ftp-v6':
-                       content => template('roles/ftp/vsftpd.conf.erb'),
-                       logfile => $logfile,
-                       bind    => $bind6,
+                       banner       => 'ftp.debian.org FTP server',
+                       logfile      => '/var/log/ftp/vsftpd-ftp.debian.org.log',
+                       bind         => $bind6,
+                       max_clients  => 200,
+                       root         => '/srv/ftp.debian.org/ftp.root',
                }
        }
 }
index 5846d149d2405f32ffbf530b77526d5873795cc9..682d314ced526158c53d107c7d9b35d20e534839 100644 (file)
@@ -10,19 +10,23 @@ class roles::ftp_upload {
                default => '',
        }
 
-       $logfile = '/var/log/ftp/vsftpd-ftp.upload.debian.org.log'
-
        vsftpd::site { 'ftp-upload':
-               content => template('roles/ftp_upload/vsftpd.conf.erb'),
-               logfile => $logfile,
-               bind    => $bind,
+               banner     => 'ftp.upload.debian.org FTP server',
+               logfile    => '/var/log/ftp/vsftpd-ftp.upload.debian.org.log',
+               writable   => true,
+               chown_user => dak,
+               bind       => $bind,
+               root       => '/srv/upload.debian.org/ftp',
        }
 
        if $bind6 {
                vsftpd::site { 'ftp-upload-v6':
-                       content => template('roles/ftp_upload/vsftpd.conf.erb'),
-                       logfile => $logfile,
-                       bind    => $bind6,
+                       banner     => 'ftp.upload.debian.org FTP server',
+                       logfile    => '/var/log/ftp/vsftpd-ftp.upload.debian.org.log',
+                       writable   => true,
+                       chown_user => dak,
+                       bind       => $bind6,
+                       root       => '/srv/upload.debian.org/ftp',
                }
        }
 }
index 6992537d773e62116a7874e3f6fdb778e3515c09..3f1b70cebd4dd8738999742b1de9f0c0c09d5513 100644 (file)
@@ -1,26 +1,10 @@
 class roles::security_master {
 
-       $bind = $::hostname ? {
-               default => '',
-       }
-
-       $bind6 = $::hostname ? {
-               default => '',
-       }
-
-       $logfile = '/var/log/ftp/vsftpd-security-master.debian.org.log'
-
        vsftpd::site { 'security':
-               content => template('roles/security_master/vsftpd.conf.erb'),
-               logfile => $logfile,
-               bind    => $bind,
-       }
-
-       if $bind6 {
-               vsftpd::site { 'security-v6':
-                       content => template('roles/security_master/vsftpd.conf.erb'),
-                       logfile => $logfile,
-                       bind    => $bind6,
-               }
+               banner     => 'security-master.debian.org FTP server (vsftpd)',
+               logfile    => '/var/log/ftp/vsftpd-security-master.debian.org.log',
+               writable   => true,
+               chown_user => dak,
+               root       => '/srv/ftp.root/',
        }
 }
index fc19e41a10bcb69b404b358cb1e32add0266423c..9ed98409d57c2f9bc19271e743954a8e17fcc910 100644 (file)
@@ -5,28 +5,10 @@ class roles::security_mirror {
                config => 'puppet:///modules/roles/security_mirror/security.debian.org'
        }
 
-       $bind = $::hostname ? {
-               default => '',
-       }
-
-       $bind6 = $::hostname ? {
-               default => '',
-       }
-
-       $logfile = '/var/log/ftp/vsftpd-security.debian.org.log'
-
        vsftpd::site { 'security':
-               content => template('roles/security_mirror/vsftpd.conf.erb'),
-               logfile => $logfile,
-               bind    => $bind,
-       }
-
-       if $bind6 {
-               vsftpd::site { 'security-v6':
-                       content => template('roles/security_mirror/vsftpd.conf.erb'),
-                       logfile => $logfile,
-                       bind    => $bind6,
-               }
+               banner       => 'security.debian.org FTP server (vsftpd)',
+               logfile      => '/var/log/ftp/vsftpd-security.debian.org.log',
+               max_clients  => 200,
+               root         => '/srv/ftp.root/',
        }
-
 }
diff --git a/modules/roles/templates/backports_master/vsftpd.conf.erb b/modules/roles/templates/backports_master/vsftpd.conf.erb
deleted file mode 100644 (file)
index 02979ed..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-anonymous_enable=YES
-write_enable=YES
-anon_root=/srv/backports-upload
-anon_umask=027
-anon_upload_enable=YES
-chown_uploads=YES
-chown_username=dak
-
-xferlog_enable=YES
-xferlog_file=<%= scope.lookupvar('logfile') %>
-
-ftpd_banner=backports-master.debian.org FTP server
-secure_chroot_dir=/var/run/vsftpd
-pam_service_name=vsftpd
-setproctitle_enable=YES
-dirmessage_enable=YES
-ls_recurse_enable=NO
-connect_from_port_20=NO
-max_clients=100
diff --git a/modules/roles/templates/ftp/vsftpd.conf.erb b/modules/roles/templates/ftp/vsftpd.conf.erb
deleted file mode 100644 (file)
index 60ac366..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-ftpd_banner=ftp.debian.org FTP server
-
-anonymous_enable=YES
-dirmessage_enable=YES
-connect_from_port_20=NO
-setproctitle_enable=YES
-ls_recurse_enable=NO
-xferlog_enable=YES
-xferlog_file=<%= scope.lookupvar('logfile') %>
-
-secure_chroot_dir=/var/run/vsftpd
-pam_service_name=vsftpd
-
-anon_root=/srv/ftp.debian.org/ftp.root
-
diff --git a/modules/roles/templates/ftp_upload/vsftpd.conf.erb b/modules/roles/templates/ftp_upload/vsftpd.conf.erb
deleted file mode 100644 (file)
index 30612b0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-ftpd_banner=ftp.upload.debian.org FTP server
-
-max_clients=100
-
-anonymous_enable=YES
-dirmessage_enable=YES
-connect_from_port_20=NO
-setproctitle_enable=YES
-ls_recurse_enable=NO
-xferlog_enable=YES
-
-secure_chroot_dir=/var/run/vsftpd
-xferlog_file=<%= scope.lookupvar('logfile') %>
-pam_service_name=vsftpd
-
-anon_root=/srv/upload.debian.org/ftp
-write_enable=YES
-anon_umask=027
-anon_upload_enable=YES
-chown_uploads=YES
-chown_username=dak
-
diff --git a/modules/roles/templates/security_master/vsftpd.conf.erb b/modules/roles/templates/security_master/vsftpd.conf.erb
deleted file mode 100644 (file)
index 7f382fa..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-max_clients=100
-
-# from default package config
-secure_chroot_dir=/var/run/vsftpd
-pam_service_name=vsftpd
-
-anonymous_enable=YES
-one_process_model=YES
-setproctitle_enable=YES
-dirmessage_enable=NO
-xferlog_enable=YES
-connect_from_port_20=NO
-xferlog_file=<%= scope.lookupvar('logfile') %>
-ls_recurse_enable=NO
-ftpd_banner=security-master.debian.org FTP server (vsftpd)
-
-#
-# Queue daemon needs anon uploads
-#
-write_enable=YES
-anon_umask=027
-anon_upload_enable=YES
-chown_uploads=YES
-chown_username=dak
diff --git a/modules/roles/templates/security_mirror/vsftpd.conf.erb b/modules/roles/templates/security_mirror/vsftpd.conf.erb
deleted file mode 100644 (file)
index f75a966..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-anonymous_enable=YES
-xferlog_enable=YES
-secure_chroot_dir=/var/run/vsftpd
-pam_service_name=vsftpd
-rsa_cert_file=/etc/ssl/certs/vsftpd.pem
-
-setproctitle_enable=YES
-dirmessage_enable=NO
-connect_from_port_20=NO
-xferlog_file=/var/log/ftp/vsftpd-security.debian.org.log
-xferlog_file=<%= scope.lookupvar('logfile') %>
-ls_recurse_enable=YES
-ftpd_banner=security.debian.org FTP server (vsftpd)
index d0129e1dfc42cd15f0c176a05ac5ea5180c091d7..f65387588631ee3ed2e2d92c34a7cd17e3f2631b 100644 (file)
@@ -1,17 +1,16 @@
 define vsftpd::site (
-       $source='',
-       $content='',
+       $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::nolisten
 
-       if ($source and $content) {
-               fail ( "Can't have both source and content for $name" )
-       }
-
        case $ensure {
                present,absent: {}
                default: { fail ( "Invald ensure `$ensure' for $name" ) }
@@ -19,18 +18,10 @@ define vsftpd::site (
 
        $fname = "/etc/vsftpd-${name}.conf"
 
-       if $source {
-               file { $fname:
-                       ensure => $ensure,
-                       source => $source,
-               }
-       } elsif $content {
-               file { $fname:
-                       ensure  => $ensure,
-                       content => $content,
-               }
-       } else {
-               fail ( "Need one of source or content for $name" )
+       file { $fname:
+               ensure  => $ensure,
+               noop    => true,
+               content => template('vsftpd/vsftpd.conf.erb')
        }
 
        file { "/etc/logrotate.d/vsftpd-${name}":
@@ -46,7 +37,7 @@ define vsftpd::site (
                port        => 'ftp',
                server_args => $fname,
                ferm        => false,
-               instances   => 200,
+               instances   => $max_clients,
                require     => File[$fname]
        }
 
diff --git a/modules/vsftpd/templates/vsftpd.conf.erb b/modules/vsftpd/templates/vsftpd.conf.erb
new file mode 100644 (file)
index 0000000..5d7081b
--- /dev/null
@@ -0,0 +1,22 @@
+anonymous_enable=YES
+anon_root=<%= scope.lookupvar('root') %>
+<%- if scope.lookupvar('writable') -%>
+anon_umask=027
+write_enable=YES
+anon_upload_enable=YES
+chown_uploads=YES
+chown_username=scope.lookupvar('chown_user')
+<%- end -%>
+
+xferlog_enable=YES
+xferlog_file=<%= scope.lookupvar('logfile') %>
+
+ftpd_banner=<%= scope.lookupvar('banner') %>
+secure_chroot_dir=/var/run/vsftpd
+pam_service_name=vsftpd
+setproctitle_enable=YES
+dirmessage_enable=NO
+ls_recurse_enable=NO
+connect_from_port_20=NO
+max_clients=<%= scope.lookupvar('max_clients') %>
+