# 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