Files
kong-platform-llm/dev/externalsecret-control-plane.yaml
Stéphane Tailland e01b15f14c Move the AI gateway into the llm namespace and drop the inlining
ai-gateway-kustomization sat in flux-system, so the team's own bootstrap
was writing into a namespace the team has no access to — the thing the
move was meant to end. It follows the others into llm, with an explicit
sourceRef namespace since k8s-platform stays in flux-system.

The control-plane ExternalSecret goes with it, for the same reason it did
in the dataplane repos: it only lived in flux-system because
substituteFrom resolves in the Kustomization's own namespace.

And this retires a workaround. proxy-kustomization inlined
OTEL_TRACES_ENDPOINT because it must stay in llm — it substitutes from a
Secret holding OPENROUTER_BEARER and LIBRECHAT_APIKEY, which must not be
copied into flux-system — and could therefore not read
dataplane-template-defaults, which existed only there. k8s-platform now
places that ConfigMap in every domain namespace, so the reference works
and the duplicated value goes. Changing the cluster trace backend is one
edit again.

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

35 lines
1.2 KiB
YAML

# The Control Plane id, delivered to flux-system so gateway-kustomization.yaml
# can substitute it instead of carrying a hardcoded UUID.
#
# Why a second ExternalSecret rather than extra keys on the existing one:
# substituteFrom requires the Secret to sit in the same namespace as the Flux
# Kustomization, which is flux-system — a shared, broadly-readable namespace.
# The Konnect token must never go there. A Control Plane id is not a secret;
# it is visible in the Konnect UI URL.
#
# Terraform writes this path (see konnect-platform). Moving to a new Konnect
# org then needs no edit here at all.
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: llm-dev-control-plane
namespace: llm
spec:
refreshInterval: 1h
secretStoreRef:
kind: ClusterSecretStore
name: vault-kong-v2
target:
name: llm-dev-control-plane
data:
# Key names are the Flux substitution variables verbatim: substituteFrom
# exposes each key as ${KEY}.
- secretKey: CONTROL_PLANE_ID
remoteRef:
key: kong-v2/llm/dev/control-plane
property: CONTROL_PLANE_ID
- secretKey: CONTROL_PLANE_NAME
remoteRef:
key: kong-v2/llm/dev/control-plane
property: CONTROL_PLANE_NAME