dataplane-catalog
Layer 2 (Gateway infrastructure) for the catalog bounded context
(domain team: catalog) — one Control Plane per environment, referenced by
ID (created by ../konnect-platform, never recreated here).
This repo does NOT hold KonnectAPIAuthConfiguration/GatewayConfiguration/
Gateway/Certificate YAML directly. The actual resource template (one
copy, covering every domain/environment) lives in
../k8s-platform/dataplane-template/, ${VAR}-parameterized. This repo
only holds what's specific to one <env>/<gateway-type>/ — two files:
kustomization.yaml— a FluxKustomizationCR (not a plain Kustomize build file, despite the name) that builds../k8s-platform/dataplane-template/from thek8s-platformGitRepositorysource. Domain-specific non-sensitive values (NAME,NAMESPACE,CONTROL_PLANE_ID,HOSTNAME,TLS_ISSUER_NAME) are inline underspec.postBuild.substitute— no separate ConfigMap to forget to re-apply after an edit (bit us twice before this got simplified). Cluster-wide defaults (KONNECT_SERVER_URL,GATEWAY_IMAGE,REPLICAS,TLS_ISSUER_KIND) come fromdataplane-template-defaults, a ConfigMap shared by every domain, viasubstituteFrom.externalsecret.yaml— anExternalSecret(External Secrets Operator) that pulls the Konnect PAT from Vault (secrets/kong-v2/catalog/dev/konnect-patathttps://vault.sttlab.eu, via the sharedClusterSecretStore vault-kong-v2) and materializes it directly ascatalog-dev-konnect-authin thecatalognamespace. Not part of the substitute/substituteFrom flow above — Flux's substitution would have required the real PAT to sit in a Secret influx-system(shared, broadly-readable namespace) before landing here, which was rejected. Rotation is now just "update the value in Vault" —ExternalSecret'srefreshInterval(1h) picks it up automatically, nothing to touch in the cluster or in git.
Content here is generated and PR'd automatically when the matching Control
Plane is created via the self-service flow in ../konnect-platform — never
hand-edited directly.
Deployed and validated on the local cluster (2026-08-19): full chain
working end-to-end — KonnectAPIAuthConfiguration Valid: True, Gateway
Programmed: True, a real DataPlane pod running, TLS cert issued by the
sttlab-local-ca ClusterIssuer, Konnect PAT synced live from Vault via ESO.