Deploy payments/dev dataplane (Layer 2), mirroring catalog/customers

Real Konnect Control Plane dc3b2a36-e2ad-4da1-a142-022d0ce6d94e, PAT
in Vault (kong-v2/payments/dev/konnect-pat). Replaces the TODO stubs
with the proven gateway-kustomization.yaml + externalsecret.yaml +
policies-kustomization.yaml pattern. IdP is the local Keycloak from
the start (platform default now, see STATUS.md 15/16), not the VPS.

Layer 3 (payments-api) not started — Gateway answers 404, nothing
routed yet.
This commit is contained in:
Stéphane Tailland
2026-08-23 16:07:29 +02:00
parent 2ab64e32bf
commit 8596514e42
7 changed files with 138 additions and 22 deletions
@@ -0,0 +1,37 @@
# Split from gateway-kustomization.yaml on purpose: different change
# cadence (policies get tuned far more often than the Gateway itself gets
# recreated) and different blast radius (a bad policy build/prune can't
# touch the Gateway/DataPlane, and vice versa). Same GitRepository, same
# domain namespace, different path.
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: payments-dev-api-gateway-policies
namespace: flux-system
spec:
interval: 10m
sourceRef:
kind: GitRepository
name: k8s-platform
path: ./dataplane-globalpolicy-template
prune: true
postBuild:
substitute:
NAME: payments-dev
NAMESPACE: payments
# Looked up manually after gateway-kustomization.yaml's
# Gateway/GatewayConfiguration first reconciled — the operator
# auto-names the mirrored KonnectGatewayControlPlane with a random
# suffix, not derivable from NAME.
CONTROL_PLANE_REF_NAME: payments-dev-bz6vs
# Every audience valid anywhere in the payments domain — grows as the
# domain gains APIs (e.g. mcp-payments, if an MCP layer is ever added).
JWT_AUDIENCE_WHITELIST: '["payments-api"]'
# Local in-cluster Keycloak is the platform-wide IdP now (see
# ../../../STATUS.md sections 15/16), not dataplane-template-defaults'
# stale VPS value — confirmed reachable in-cluster before wiring this
# in, same pattern as catalog/customers.
OIDC_ISSUER: https://keycloak.sttlab.local/realms/classic-models
substituteFrom:
- kind: ConfigMap
name: dataplane-template-defaults