Files
Stéphane Tailland 27a9dfc037 Point the moved Kustomizations at k8s-platform across namespaces
Moving them into the catalog namespace broke their source: sourceRef
resolves in the Kustomization's own namespace, so "k8s-platform" no longer
matched anything and both reported GitRepository not found.

Name the namespace explicitly rather than duplicating the source per
domain. Cross-namespace refs are allowed here — kustomize-controller runs
without --no-cross-namespace-refs — and the split is the point: the
templates belong to the platform in flux-system, the Kustomization that
consumes them belongs to the team in its own namespace.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 14:40:36 +02:00

38 lines
1.5 KiB
YAML

# 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: catalog
spec:
interval: 10m
sourceRef:
kind: GitRepository
name: k8s-platform
# k8s-platform lives in flux-system: the templates are the platform's,
# this Kustomization is the team's. sourceRef resolves in the
# Kustomization's own namespace unless told otherwise, hence the
# explicit namespace rather than a copy of the source per domain.
namespace: flux-system
path: ./dataplane-globalpolicy-template
prune: true
postBuild:
substitute:
NAME: catalog-dev
NAMESPACE: catalog
# Stable by construction: the mirror CR is declared with this derived
# name in k8s-platform/dataplane-template/controlplane-mirror.yaml, so
# it no longer has to be looked up after each Gateway reconcile.
CONTROL_PLANE_REF_NAME: catalog-dev-cp
# Every audience valid anywhere in the catalog domain — grows as the
# domain gains APIs.
JWT_AUDIENCE_WHITELIST: '["catalog-api", "mcp-catalog"]'
OIDC_ISSUER: https://keycloak.sttlab.local/realms/classic-models
substituteFrom:
- kind: ConfigMap
name: dataplane-template-defaults