de69f88e29
14 routes: Order (single key, full CRUD + order-details sub-resource) and Orderdetail (composite key ordernumber+productcode, own top-level resource, mirrors backend's own URL structure). MCP layer built with the corrected single-route pattern from the start (STATUS.md section 18) — 7 tools, list/get read-only for all 5 roles, create-order/create-orderdetail for admin+customer+support (verified against OrderPermission/OrderScopedPermission.check() — support gets an unconditional class-level pass, the status-only restriction is object-level and doesn't apply to create). Keycloak (local): sales-api-audience + mcp-sales-audience client scopes, sales-api + mcp-sales resource clients, attached to the broker and librechat respectively. Deploy key and broker secret reused/mirrored from catalog-api and the live broker client, same pattern as customers-api/payments-api.
33 lines
987 B
YAML
33 lines
987 B
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
|
|
namespace: flux-system
|
|
postBuild:
|
|
substitute:
|
|
NAME: sales-dev
|
|
NAMESPACE: sales
|
|
CONTROL_PLANE_REF_NAME: sales-dev-pjdc7
|
|
BACKEND_HOST: classic-models-api.classic-models.svc.cluster.local
|
|
OIDC_ISSUER: https://keycloak.sttlab.local/realms/classic-models
|
|
API_AUDIENCE: '["sales-api"]'
|
|
BACKEND_AUDIENCE: '["classic-models-api"]'
|
|
BACKEND_SCOPES: '[]'
|
|
API_RATE_LIMIT_MINUTE: "60"
|
|
AUDIT_LOG_ENDPOINT: http://audit-log-collector.observability.svc.cluster.local/logs
|
|
REST_HOSTNAME: sales-dev.sttlab.local
|
|
TOKEN_EXCHANGE_CLIENT_ID: kong-token-exchange-broker
|
|
substituteFrom:
|
|
- kind: Secret
|
|
name: sales-token-exchange-broker
|