Flux setup

This commit is contained in:
Stéphane Tailland
2026-08-20 13:25:52 +02:00
parent e584ebfe10
commit 0c88210d11
2 changed files with 40 additions and 3 deletions
@@ -30,9 +30,9 @@ spec:
# substitute/substituteFrom at all: that mechanism requires the source
# Secret to sit in flux-system (same namespace as this Kustomization),
# which put a live copy of the real PAT in a shared, broadly-readable
# namespace. Rejected. The real konnect-auth Secret is applied directly
# into the catalog namespace instead (secret.yaml, kubectl apply -f) —
# never passes through flux-system.
# namespace. Rejected. The real konnect-auth Secret is materialized
# directly into the catalog namespace instead (externalsecret.yaml, via
# External Secrets Operator + Vault) — never passes through flux-system.
substituteFrom:
- kind: ConfigMap
name: dataplane-template-defaults
@@ -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: catalog-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: catalog-dev
NAMESPACE: catalog
# 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. See
# dataplane-globalpolicy-template/global-policies-pluginbindings.yaml's
# comment. Automate this lookup once the self-service pipeline exists.
CONTROL_PLANE_REF_NAME: catalog-dev-bkphl
# Every audience valid anywhere in the catalog domain — grows as the
# domain gains APIs. PLACEHOLDER still: no Keycloak client exists yet
# for "catalog-api" (only the classic-models-api client's own audience
# mapper exists today) — this openid-connect binding will reject every
# real token until that client is created.
JWT_AUDIENCE_WHITELIST: '["catalog-api"]' # PLACEHOLDER audience name, Keycloak client not created yet
substituteFrom:
- kind: ConfigMap
name: dataplane-template-defaults