From 1f29f7221e5df4b46a72f4fb81183098f79c7b74 Mon Sep 17 00:00:00 2001 From: Alert Fix Agent Date: Thu, 30 Jul 2026 02:45:02 +0000 Subject: [PATCH] fix: [alert] KubeJobFailed (velero) (#439) --- kubernetes/infrastructure/coredns-config/configmap.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kubernetes/infrastructure/coredns-config/configmap.yaml b/kubernetes/infrastructure/coredns-config/configmap.yaml index 93d60c6e..7e92966b 100644 --- a/kubernetes/infrastructure/coredns-config/configmap.yaml +++ b/kubernetes/infrastructure/coredns-config/configmap.yaml @@ -56,9 +56,17 @@ data: forward . /etc/resolv.conf { max_concurrent 1000 } + # serve_stale mirrors the renner.uno:53 block (issue #393): when the + # upstream resolver browns out, keep answering from expired cache + # instead of SERVFAILing every public name cluster-wide. Seen on + # 2026-07-30 01:22-01:26Z (~1150 SERVFAILs) — it killed a Velero Kopia + # maintenance job, which runs with backoffLimit 0, on the Hetzner S3 + # endpoint (issue #439). cluster.local is exempt from the cache above, + # so in-cluster Service records are never served stale. cache 30 { disable success cluster.local disable denial cluster.local + serve_stale 1h immediate } loop reload -- 2.54.0