diff --git a/apps/base/infra/coredns-custom.yaml b/apps/base/infra/coredns-custom.yaml new file mode 100644 index 0000000..47c1441 --- /dev/null +++ b/apps/base/infra/coredns-custom.yaml @@ -0,0 +1,36 @@ +# Interner Zeiger auf rohana (#0088). +# +# rohana.axion1337.de loest oeffentlich auf 188.245.193.243 auf. Der Host ist +# aber ueber das private Netz unter 10.0.0.3 erreichbar UND traegt dort ein +# gueltiges Let's-Encrypt-Zertifikat fuer genau diesen Namen - am 2026-08-21 +# mit voller Zertifikatspruefung nachgemessen. Ohne diesen Zeiger verlaesst +# jeder Zugriff aus dem Cluster (Gitea-Push der TURN-Rotation, git-storage von +# Wiki.js) unnoetig den Cluster und braucht eine Egress-Ausnahme nach draussen. +# +# Warum eine eigene Zone und kein zweiter `hosts`-Block: Die Corefile fuehrt +# bereits `hosts /etc/coredns/NodeHosts` im Hauptblock. Ein zweiter dort waere +# ein Konflikt, deshalb ein `.server`-Import mit eigener Zone (Corefile, +# letzte Zeile). `reload` im Hauptblock zieht Aenderungen selbsttaetig nach - +# ein Neustart von CoreDNS ist nicht noetig. +# +# ⚠️ PREIS: Aus zwei Wegen wird einer. Faellt 10.0.0.3 aus, ist rohana aus dem +# Cluster nicht mehr erreichbar, obwohl der oeffentliche Weg funktionieren +# wuerde - und der Fehler sieht aus wie "Gitea ist weg", nicht wie "der private +# Pfad ist weg". Wer hier sucht: erst `nslookup rohana.axion1337.de` aus einem +# Pod, dann diese ConfigMap. +apiVersion: v1 +kind: ConfigMap +metadata: + name: coredns-custom + namespace: kube-system +data: + # Dateiname MUSS auf .server enden - nur die werden am Ende der Corefile + # importiert. `.override` liefe im Hauptblock und damit in den Konflikt oben. + rohana.server: | + rohana.axion1337.de:53 { + hosts { + 10.0.0.3 rohana.axion1337.de + fallthrough + } + forward . /etc/resolv.conf + } diff --git a/apps/base/infra/kustomization.yaml b/apps/base/infra/kustomization.yaml index 257d445..11a255d 100644 --- a/apps/base/infra/kustomization.yaml +++ b/apps/base/infra/kustomization.yaml @@ -1,6 +1,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: + - coredns-custom.yaml - ns-cert-manager.yaml - ns-matrix.yaml - cert-manager-repo.yaml