Build workforce-api REST + MCP layers (Layer 3), full build in one pass
16 routes: Office (single key, full CRUD + employees sub-resource) and Employee (single key, full CRUD + reports + customers sub-resources). MCP layer built with the single-route pattern from the start. Only domain where customer role has zero access — verified against ReferenceDataPermission.check(): read_only/product_manager/support get reads, writes are admin-only, customer isn't in the allow-list at all. All 9 MCP tool ACLs reflect this exactly. Keycloak (local): workforce-api-audience + mcp-workforce-audience client scopes, resource clients, broker/librechat attachments. Deploy key and broker secret reused/mirrored, same pattern as every domain since payments-api.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: workforce-dev-api
|
||||
namespace: workforce
|
||||
spec:
|
||||
interval: 10m
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: workforce-api-dev
|
||||
path: ./kong
|
||||
prune: true
|
||||
dependsOn:
|
||||
- name: workforce-dev-api-gateway
|
||||
namespace: flux-system
|
||||
postBuild:
|
||||
substitute:
|
||||
NAME: workforce-dev
|
||||
NAMESPACE: workforce
|
||||
CONTROL_PLANE_REF_NAME: workforce-dev-6cq27
|
||||
BACKEND_HOST: classic-models-api.classic-models.svc.cluster.local
|
||||
OIDC_ISSUER: https://keycloak.sttlab.local/realms/classic-models
|
||||
API_AUDIENCE: '["workforce-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: workforce-dev.sttlab.local
|
||||
TOKEN_EXCHANGE_CLIENT_ID: kong-token-exchange-broker
|
||||
substituteFrom:
|
||||
- kind: Secret
|
||||
name: workforce-token-exchange-broker
|
||||
Reference in New Issue
Block a user