From 68c8ec79e1f4ed3de924f2466c8e9bf17b50cfb7 Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Tue, 25 Aug 2026 21:39:45 +1000 Subject: [PATCH] Move public identity gateway to external traefik proxy The public authentik gateway (identity.unkin.net) now uses traefik-external and removes external-dns management, matching the arrproxy external gateway convention. DNS remains managed out-of-band via bind-operator. The internal authentik-internal gateway stays on traefik-internal. --- apps/base/authentik/gateway.yaml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/apps/base/authentik/gateway.yaml b/apps/base/authentik/gateway.yaml index ef05aac..0662cee 100644 --- a/apps/base/authentik/gateway.yaml +++ b/apps/base/authentik/gateway.yaml @@ -1,23 +1,22 @@ --- -# Public identity.unkin.net listener. external-dns publishes the A record at the -# internal LB VIP (198.18.200.4). Public TLS is terminated with the real Let's -# Encrypt *.unkin.net wildcard, centrally minted once in the cert-manager -# namespace (Certificate wildcard-unkin-net) and reflected into this namespace -# by the emberstack reflector as the secret wildcard-unkin-net-tls. No -# cert-manager annotations here so the gateway-shim does not mint a competing -# Vault-PKI Certificate for the reflected secret. +# External (DMZ) front for public identity.unkin.net, served via the external +# Traefik (LB VIP 198.18.199.0). The apex identity.unkin.net A record lives in +# the bind-operator unkin.net zone (bind-internal/authoritative), NOT +# external-dns, so no external-dns annotation here. Public TLS is terminated with +# the real Let's Encrypt *.unkin.net wildcard, centrally minted once in the +# cert-manager namespace (Certificate wildcard-unkin-net) and reflected into this +# namespace by the emberstack reflector as wildcard-unkin-net-tls, not Vault PKI. apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: labels: - traefik.io/instance: internal + traefik.io/instance: external annotations: - external-dns.alpha.kubernetes.io/hostname: identity.unkin.net - external-dns.alpha.kubernetes.io/target: 198.18.200.4 + argocd.argoproj.io/sync-wave: "2" name: authentik namespace: authentik spec: - gatewayClassName: traefik-internal + gatewayClassName: traefik-external listeners: - allowedRoutes: namespaces: