From e9f6f03f48e386ff0de2a2ad7296a1d8e851fa06 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Tue, 16 Oct 2018 10:40:13 +0200 Subject: [PATCH] Make hiera's debug_mirror look like debian_mirror --- hieradata/common.yaml | 24 +++++++++++++++++++---- modules/roles/manifests/debug_mirror.pp | 26 ++++++++++++------------- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/hieradata/common.yaml b/hieradata/common.yaml index 4eac6ea36..1bfe9bc14 100644 --- a/hieradata/common.yaml +++ b/hieradata/common.yaml @@ -282,10 +282,26 @@ roles: - mirror-conova.debian.org - sibelius.debian.org debug_mirror: - - klecker.debian.org - - mirror-conova.debian.org - - mirror-isc.debian.org - - mirror-accumu.debian.org + klecker.debian.org: + listen-addresses: + - '130.89.148.14:80' + - '[2001:67c:2564:a119::148:14]:80' + onion_v4_address: 130.89.148.14 + service-hostname: klecker.debug.backend.mirrors.debian.org + mirror-conova.debian.org: + listen-addresses: + - '217.196.149.232:80' + - '[2a02:16a8:dc41:100::232]:80' + service-hostname: conova.debug.backend.mirrors.debian.org + mirror-isc.debian.org: + listen-addresses: + - '149.20.4.15:80' + - '[2001:4f8:1:c::15]:80' + onion_v4_address: 149.20.4.15 + service-hostname: mirror-isc3.debian.org + mirror-accumu.debian.org: + onion_v4_address: 130.242.6.199 + service-hostname: accumu.debug.backend.mirrors.debian.org debug_mirror_onion: - klecker.debian.org - mirror-isc.debian.org diff --git a/modules/roles/manifests/debug_mirror.pp b/modules/roles/manifests/debug_mirror.pp index dddf52019..8c26b78a3 100644 --- a/modules/roles/manifests/debug_mirror.pp +++ b/modules/roles/manifests/debug_mirror.pp @@ -4,19 +4,14 @@ class roles::debug_mirror { $mirror_basedir_prefix = hiera('role_config__mirrors.mirror_basedir_prefix') $archive_root = "${mirror_basedir_prefix}debian-debug" - $vhost_listen = $::hostname ? { - klecker => '130.89.148.14:80 [2001:67c:2564:a119::148:14]:80', - mirror-isc => '149.20.4.15:80 [2001:4f8:1:c::15]:80', - mirror-conova => '217.196.149.232:80 [2a02:16a8:dc41:100::232]:80', - mirror-accumu => '*:80', - default => '*:80', - } - $onion_v4_addr = $::hostname ? { - klecker => '130.89.148.14', - mirror-isc => '149.20.4.15', - mirror-accumu => '130.242.6.199', - default => undef, - } + $listen_addresses = hiera('roles.debug_mirror') + .dig($::fqdn, 'listen-addresses') + .then |$a| { $a + [ '127.0.0.1:80', '[::1]:80' ] } + .lest || { ['*:80'] } + + $vhost_listen = join($listen_addresses, ' ') + $onion_v4_addr = hiera("roles.debug_mirror", {}) + .dig($::fqdn, 'onion_v4_address') apache2::site { '010-debug.mirrors.debian.org': site => 'debug.mirrors.debian.org', @@ -35,8 +30,11 @@ class roles::debug_mirror { } } + $hosts_to_check = hiera('roles.debug_mirror', {}) + .filter |$h| { $h[1]['service-hostname'] } + .map |$h| { $h[1]['service-hostname'] } roles::mirror_health { 'debug': - check_hosts => hiera('roles.debug_mirror'), + check_hosts => $hosts_to_check, check_service => 'debug', url => 'http://debug.backend.mirrors.debian.org/debian-debug/dists/sid-debug/Release', health_url => 'http://debug.backend.mirrors.debian.org/_health', -- 2.20.1