From 870a8ad5e6b8ead3f591059840af9e10c4adf405 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Sat, 14 May 2022 10:57:38 +0300
Subject: [PATCH] geo_dns: support per-domain ifurlup check paths

---
 group_vars/all/geo.yml             | 2 ++
 roles/geo_dns/templates/geo.yml.j2 | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/group_vars/all/geo.yml b/group_vars/all/geo.yml
index 4a0baa6a7..a70e3a158 100644
--- a/group_vars/all/geo.yml
+++ b/group_vars/all/geo.yml
@@ -1,3 +1,5 @@
 geo_acme_dns_challenge_ns: redirect.archlinux.org
 geo_domains:
   - geo.mirror.pkgbuild.com
+geo_health_check_paths:
+  geo.mirror.pkgbuild.com: /lastupdate
diff --git a/roles/geo_dns/templates/geo.yml.j2 b/roles/geo_dns/templates/geo.yml.j2
index e3830b413..485f62b27 100644
--- a/roles/geo_dns/templates/geo.yml.j2
+++ b/roles/geo_dns/templates/geo.yml.j2
@@ -15,13 +15,13 @@ domains:
         - lua:
             ttl: 300
             content: >
-              A "ifurlup('https://{{ domain }}/',
+              A "ifurlup('https://{{ domain }}{{ geo_health_check_paths[domain] | default('/') }}',
               {'{{ groups['geo_mirrors'] | map('extract', hostvars, ['ipv4_address']) | join("', '") }}'},
               {selector='pickclosest', useragent='pdns on {{ inventory_hostname }}'})"
         - lua:
             ttl: 300
             content: >
-              AAAA "ifurlup('https://{{ domain }}/',
+              AAAA "ifurlup('https://{{ domain }}{{ geo_health_check_paths[domain] | default('/') }}',
               {'{{ groups['geo_mirrors'] | map('extract', hostvars, ['ipv6_address']) | join("', '") }}'},
               {selector='pickclosest', useragent='pdns on {{ inventory_hostname }}'})"
       _acme-challenge.{{ domain }}:
-- 
GitLab