X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Froles%2Fmanifests%2Fports_mirror.pp;h=d8ae988ebe9524e697ed95bca628c20a0e22bdda;hb=60abc62b4de8b4d30645ca23a8201914ddf1e72e;hp=ff0d6014e77f9389c4873570afd215b7569105a1;hpb=a12917959f1de3525ee686542406f12f3ff06e0c;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/ports_mirror.pp b/modules/roles/manifests/ports_mirror.pp index ff0d6014e..d8ae988eb 100644 --- a/modules/roles/manifests/ports_mirror.pp +++ b/modules/roles/manifests/ports_mirror.pp @@ -1,12 +1,29 @@ -class roles::ports_mirror { - $vhost_listen = $::hostname ? { - klecker => '130.89.148.14:80 [2001:610:1908:b000::148:14]:80', - mirror-isc => '149.20.20.22:80 [2001:4f8:8:36::1deb:22]:80', - default => '*:80', - } - - apache2::site { '010-ftp.ports.debian.org': - site => 'ftp.ports.debian.org', - content => template('roles/apache-ftp.ports.debian.org.erb'), - } +class roles::ports_mirror( + String $vhost_listen = '*:80', + Boolean $onion_service = false, + Optional[Stdlib::IP::Address] $onion_addr = undef, +) { + include roles::archvsync_base + + include apache2 + + $mirror_basedir_prefix = hiera('role_config__mirrors.mirror_basedir_prefix') + $archive_root = "${mirror_basedir_prefix}debian-ports" + + apache2::site { '010-ftp.ports.debian.org': + site => 'ftp.ports.debian.org', + content => template('roles/apache-ftp.ports.debian.org.erb'), + } + + if $onion_service { + if ! $onion_addr { + fail("Do not have an onion_addr set for ${::hostname}.") + } + + onion::service { 'ftp.ports.debian.org': + port => 80, + target_port => 80, + target_address => $onion_addr, + } + } }