27a9dfc037
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>
38 lines
1.5 KiB
YAML
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
|