apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization metadata: name: platform-llm-dev namespace: llm spec: interval: 10m sourceRef: kind: GitRepository name: platform-llm-dev path: ./kong prune: true dependsOn: - name: llm-dev-ai-gateway namespace: flux-system postBuild: substitute: NAME: llm-dev NAMESPACE: llm CONTROL_PLANE_REF_NAME: llm-dev-cp OIDC_ISSUER: https://keycloak.sttlab.eu/realms/sttlab AGENT_AUDIENCE: '["llm-proxy"]' OPENROUTER_UPSTREAM_URL: https://openrouter.ai/api/v1/chat/completions OPENROUTER_EMBEDDINGS_UPSTREAM_URL: https://openrouter.ai/api/v1/embeddings VECTORDB_HOST: llm-dev-vectordb VECTORDB_PORT: "6379" RATE_LIMIT_GLOBAL_TOKENS_PER_MINUTE: "500000" RATE_LIMIT_PER_CLIENT_TOKENS_PER_MINUTE: "50000" # Looked up after consumer.yaml's llm-anonymous KongConsumer first # reconciled — config.anonymous needs the real Consumer ID, not the # username (Konnect stores it as a literal string otherwise, silently # never resolving — verified live, request-termination never fired). LLM_ANONYMOUS_CONSUMER_ID: "1efd79ee-fd2d-4f2d-beb8-e6e9b24185a1" # The URI path is the collector's routing key: Fluent Bit tags the # record `llm` and turns that into the Loki label domain=llm. AUDIT_LOG_ENDPOINT: http://audit-log-collector.observability.svc.cluster.local/llm substituteFrom: # Listed first so the Secret below still wins on any key it defines. # Brings OTEL_TRACES_ENDPOINT, the cluster-wide trace backend, so this # gateway follows a backend change without a second edit here. The only # key it shares with the inline block above is OIDC_ISSUER, and both # carry the same value. - kind: ConfigMap name: dataplane-template-defaults optional: false - kind: Secret name: platform-llm-dev-secrets