Move public identity gateway to external traefik proxy
ci/woodpecker/pr/vector-test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful

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.
This commit is contained in:
2026-08-25 21:39:45 +10:00
parent b0dce55cd4
commit 68c8ec79e1
+10 -11
View File
@@ -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: