c0799877ad
A scope authorises a read and says nothing about volume. An agent reads a thousand records in seconds where a person clicks ten, and until now nothing noticed: the token is valid, the tool is permitted, the ACL passes. That gap stopped being theoretical the day an autonomous run started reading the whole catalog on a schedule. identifier: credential keys the counter on the sub claim — the end user, whoever is asking on their behalf — so an agent looping under one person's identity spends that person's budget and cannot spend everyone's. Verified on catalog: pm-user and ro-user hold separate counters. Per-route namespace, so a busy domain cannot exhaust another's. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
kind: Kustomization
|
|
metadata:
|
|
name: sales-dev-api
|
|
namespace: sales
|
|
spec:
|
|
interval: 10m
|
|
sourceRef:
|
|
kind: GitRepository
|
|
name: sales-api-dev
|
|
path: ./kong
|
|
prune: true
|
|
dependsOn:
|
|
- name: sales-dev-api-gateway
|
|
# The gateway Kustomization moved out of flux-system into this domain's
|
|
# namespace, where the team can reach it. A dependsOn that still named
|
|
# flux-system resolved to nothing and left this Kustomization not ready.
|
|
namespace: sales
|
|
postBuild:
|
|
substitute:
|
|
NAME: sales-dev
|
|
NAMESPACE: sales
|
|
CONTROL_PLANE_REF_NAME: sales-dev-cp
|
|
BACKEND_HOST: classic-models-api.classic-models.svc.cluster.local
|
|
OIDC_ISSUER: https://keycloak.sttlab.local/realms/classic-models
|
|
API_AUDIENCE: '["sales-api"]'
|
|
# Read volume for an MCP caller, per identity per minute.
|
|
MCP_READS_PER_MINUTE: "60"
|
|
BACKEND_AUDIENCE: '["classic-models-api"]'
|
|
BACKEND_SCOPES: '[]'
|
|
API_RATE_LIMIT_MINUTE: "60"
|
|
# The URI path is the collector's routing key: Fluent Bit tags the
|
|
# record `sales` and turns that into the Loki label domain=sales.
|
|
AUDIT_LOG_ENDPOINT: http://audit-log-collector.observability.svc.cluster.local/sales
|
|
REST_HOSTNAME: sales-dev.sttlab.local
|
|
TOKEN_EXCHANGE_CLIENT_ID: token-exchange-broker
|
|
substituteFrom:
|
|
- kind: Secret
|
|
name: sales-token-exchange-broker
|