X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fftp_master.pp;h=37219b68c315f0e0c8c4f5468fcbd19027c87b98;hb=7faa529dc53ec3a141d018231c27a9a36707c727;hp=1da887114d00a3682733062d35ddf40dfdf3bed0;hpb=e3fa2fd96dd8c8264ce5df8dcf93a4890f9b48bf;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/ftp_master.pp b/modules/roles/manifests/ftp_master.pp index 1da887114..37219b68c 100644 --- a/modules/roles/manifests/ftp_master.pp +++ b/modules/roles/manifests/ftp_master.pp @@ -1,9 +1,43 @@ -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 roles::historical_master + 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', + order => '20', + firewall => false, + } }