X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fftp_master.pp;h=b95330c422269e14b6a0c1bdca6d52bddf17bba5;hb=8199281b7f26f447723611cff0f7e3057d1e97a8;hp=22f751c6b974872138e2d6b2aa26090444ef1558;hpb=963cd75a0593d779ff19090aab82ec22fbb6f971;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/ftp_master.pp b/modules/roles/manifests/ftp_master.pp index 22f751c6b..b95330c42 100644 --- a/modules/roles/manifests/ftp_master.pp +++ b/modules/roles/manifests/ftp_master.pp @@ -1,10 +1,41 @@ -class roles::ftp_master { - rsync::site { 'dakmaster': - source => 'puppet:///modules/roles/dakmaster/rsyncd.conf', - max_clients => 100, - } - - ssl::service { 'ftp-master.debian.org': - notify => Service['apache2'], - } +# ftpmaster role +# +# @param db_port port of the database cluster for ftp-master's dak +class roles::ftp_master ( + Integer $db_port, +) +{ + include roles::dakmaster + include roles::signing + include apache2 + + rsync::site { 'dakmaster': + source => 'puppet:///modules/roles/dakmaster/rsyncd.conf', + # Needs to be at least number of direct mirrors plus some spare + max_clients => 50, + sslname => 'ftp-master.debian.org', + } + + ssl::service { 'ftp-master.debian.org': + notify => Exec['service apache2 reload'], + key => true, + tlsaport => [443, 1873], + } + + # export ssh allow rules for hosts that we should be able to access + @@ferm::rule::simple { "dsa-ssh-from-ftp_master-${::fqdn}": + tag => 'ssh::server::from::ftp_master', + description => 'Allow ssh access from ftp_master', + chain => 'ssh', + saddr => $base::public_addresses, + } + + postgres::cluster::hba_entry { 'dak-guest': + pg_port => $db_port, + database => 'projectb', + user => 'guest', + address => '127.0.0.1', + method => 'trust', + } + }