X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fhistorical_mirror.pp;h=e970ce716cf10c536373f132f834dbfe9d6932a3;hb=3ae8a5f9dae090cbf757d2c7d6da82af91d303b9;hp=6bd1be2e38268344656e573abb8ba9c189366eca;hpb=747839287a544fb8413d96108ed11f313628f89d;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/historical_mirror.pp b/modules/roles/manifests/historical_mirror.pp index 6bd1be2e3..e970ce716 100644 --- a/modules/roles/manifests/historical_mirror.pp +++ b/modules/roles/manifests/historical_mirror.pp @@ -1,67 +1,53 @@ class roles::historical_mirror { - include roles::archvsync_base - include apache2::expires - - $rsync_bind = $::hostname ? { - gretchaninov => '209.87.16.41', - klecker => '130.89.148.13', - mirror-conova => '217.196.149.234', - sibelius => '193.62.202.28', - default => '', - } - $rsync_bind6 = $::hostname ? { - gretchaninov => '2607:f8f0:614:1::1274:41', - klecker => '2001:610:1908:b000::148:13', - mirror-conova => '2a02:16a8:dc41:100::234', - sibelius => '2001:630:206:4000:1a1a:0:c13e:ca1c', - default => '', - } - - $vhost_listen = join([ - ($rsync_bind == '') ? { true => "*:80", default => "$rsync_bind:80" }, - ($rsync6_bind == '') ? { true => "*:80", default => "[$rsync6_bind]:80" } - ], ' ') - } - - $onion_v4_addr = $::hostname ? { - default => undef, - } - $archive_root = $::hostname ? { - default => '/srv/mirrors/debian-archive', - } - - apache2::site { '010-archive.debian.org': - site => 'archive.debian.org', - content => template('roles/apache-archive.debian.org.erb'), - } - - if has_role('historical_master') { - $sslname = 'archive-master.debian.org' - ssl::service { $sslname: - key => true, - tlsaport => [], - } - } else { - $sslname = '' - } - - rsync::site_systemd { 'archive': - source => 'puppet:///modules/roles/historical_mirror/rsyncd.conf', - max_clients => 100, - sslname => $sslname, - bind => $rsync_bind, - bind6 => $rsync_bind6, - } - - if has_role('historical_mirror_onion') { - if ! $onion_v4_addr { - fail("Do not have an onion_v4_addr set for $::hostname.") - } - - onion::service { 'archive.debian.org': - port => 80, - target_port => 80, - target_address => $onion_v4_addr, - } - } + include roles::archvsync_base + include apache2::expires + + $mirror_basedir_prefix = hiera('role_config__mirrors.mirror_basedir_prefix') + $archive_root = "${mirror_basedir_prefix}debian-archive" + + $binds = $::hostname ? { + gretchaninov => ['209.87.16.41' , '[2607:f8f0:614:1::1274:41]' ], + klecker => ['130.89.148.13' , '[2001:67c:2564:a119::148:13]' ], + schmelzer => ['217.196.149.234', '[2a02:16a8:dc41:100::234]' ], + sibelius => ['193.62.202.28' , '[2001:630:206:4000:1a1a:0:c13e:ca1c]'], + default => ['[::]'], + } + + $onion_v4_addr = $::hostname ? { + default => undef, + } + + apache2::site { '010-archive.debian.org': + site => 'archive.debian.org', + content => template('roles/apache-archive.debian.org.erb'), + } + + if has_role('historical_master') { + $sslname = 'archive-master.debian.org' + ssl::service { $sslname: + key => true, + tlsaport => [], + } + } else { + $sslname = undef + } + + rsync::site { 'archive': + content => template('roles/historical_mirror/rsyncd.conf.erb'), + max_clients => 100, + sslname => $sslname, + binds => $binds, + } + + if has_role('historical_mirror_onion') { + if ! $onion_v4_addr { + fail("Do not have an onion_v4_addr set for ${::hostname}.") + } + + onion::service { 'archive.debian.org': + port => 80, + target_port => 80, + target_address => $onion_v4_addr, + } + } }