From 1b8dd0d0fa18e2cb1e4d2f886c88de3f3f09393a Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 29 Jan 2026 09:50:58 +0200 Subject: gogios: respect IP version constraints for ipv6test subdomains - Skip ipv4/ipv6 prefixed hosts from main check loop (no www/standby variants) - Add separate checks with appropriate IP version only: - ipv4.ipv6test.f3s.buetow.org: IPv4 HTTP check only - ipv6.ipv6test.f3s.buetow.org: IPv6 HTTP check only Amp-Thread-ID: https://ampcode.com/threads/T-019c08b8-cd58-73e9-8a1d-c8f124223367 Co-authored-by: Amp --- frontends/etc/gogios.json.tpl | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'frontends/etc') diff --git a/frontends/etc/gogios.json.tpl b/frontends/etc/gogios.json.tpl index 75cd6f5..658cf5e 100644 --- a/frontends/etc/gogios.json.tpl +++ b/frontends/etc/gogios.json.tpl @@ -73,7 +73,12 @@ <% } -%> <% for my $host (@$acme_hosts) { # Skip server hostnames - they have dedicated checks above without www/standby variants - next if $host eq 'blowfish.buetow.org' or $host eq 'fishfinger.buetow.org'; -%> + next if $host eq 'blowfish.buetow.org' or $host eq 'fishfinger.buetow.org'; + # Skip ipv4/ipv6 subdomains - they're included as SANs in parent cert and checked there + next if $host =~ /^(ipv4|ipv6)\./; + my $is_ipv6_only = $host =~ /^ipv6\./; + my $is_ipv4_only = $host =~ /^ipv4\./; + -%> <% for my $prefix ('', 'standby.', 'www.') { -%> <% my $depends_on = $prefix eq 'standby.' ? 'standby.buetow.org' : 'master.buetow.org'; -%> "Check TLS Certificate <%= $prefix . $host %>": { @@ -93,6 +98,20 @@ <% } -%> <% } -%> <% } -%> + <%# Special handling for ipv4/ipv6 subdomains - only check the appropriate IP version -%> + <% for my $host (@$acme_hosts) { + next unless $host =~ /^(ipv4|ipv6)\./; + my $is_ipv6_only = $host =~ /^ipv6\./; + my $is_ipv4_only = $host =~ /^ipv4\./; + my $proto = $is_ipv6_only ? 6 : 4; + -%> + "Check HTTP IPv<%= $proto %> <%= $host %>": { + "Plugin": "<%= $plugin_dir %>/check_http", + "RandomSpread": 10, + "Args": ["<%= $host %>", "-<%= $proto %>"], + "DependsOn": ["Check Ping<%= $proto %> master.buetow.org"] + }, + <% } -%> <% for my $host (qw(fishfinger blowfish)) { -%> <% for my $proto (4, 6) { -%> "Check Dig <%= $host %>.buetow.org IPv<%= $proto %>": { -- cgit v1.2.3