Build payments-api REST layer (Layer 3), mirroring customers-api
6 routes over Payment, composite key (customernumber + checknumber), proxying to classic-models-api. openid-connect with RFC 8693 token exchange to classic-models-api audience, rate-limiting, proxy-cache, audit-log — same structure as customers-api's REST layer. Keycloak (local): payments-api-audience client scope + payments-api resource client added, attached to kong-token-exchange-broker's default scopes. No dedicated protocol mappers on payments-api itself, same practice as customers-api/mcp-customers. No MCP layer — same as customers-api, not needed yet.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: payments-api-git-auth
|
||||
namespace: payments
|
||||
spec:
|
||||
refreshInterval: 1h
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: vault-kong-v2
|
||||
target:
|
||||
name: payments-api-git-auth
|
||||
data:
|
||||
- secretKey: identity
|
||||
remoteRef:
|
||||
key: kong-v2/payments-api/git-deploy-key
|
||||
property: identity
|
||||
- secretKey: identity.pub
|
||||
remoteRef:
|
||||
key: kong-v2/payments-api/git-deploy-key
|
||||
property: identity.pub
|
||||
- secretKey: known_hosts
|
||||
remoteRef:
|
||||
key: kong-v2/payments-api/git-deploy-key
|
||||
property: known_hosts
|
||||
@@ -0,0 +1,31 @@
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: payments-dev-api
|
||||
namespace: payments
|
||||
spec:
|
||||
interval: 10m
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: payments-api-dev
|
||||
path: ./kong
|
||||
prune: true
|
||||
dependsOn:
|
||||
- name: payments-dev-api-gateway
|
||||
namespace: flux-system
|
||||
postBuild:
|
||||
substitute:
|
||||
NAME: payments-dev
|
||||
NAMESPACE: payments
|
||||
CONTROL_PLANE_REF_NAME: payments-dev-bz6vs
|
||||
BACKEND_HOST: classic-models-api.classic-models.svc.cluster.local
|
||||
OIDC_ISSUER: https://keycloak.sttlab.local/realms/classic-models
|
||||
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: payments-dev.sttlab.local
|
||||
TOKEN_EXCHANGE_CLIENT_ID: kong-token-exchange-broker
|
||||
substituteFrom:
|
||||
- kind: Secret
|
||||
name: payments-token-exchange-broker
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: GitRepository
|
||||
metadata:
|
||||
name: payments-api-dev
|
||||
namespace: payments
|
||||
spec:
|
||||
interval: 5m
|
||||
url: ssh://git@gitea.sttlab.eu:2222/stt/kong-payments-api.git
|
||||
secretRef:
|
||||
name: payments-api-git-auth
|
||||
ref:
|
||||
branch: main
|
||||
@@ -0,0 +1,17 @@
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: payments-token-exchange-broker
|
||||
namespace: payments
|
||||
spec:
|
||||
refreshInterval: 1h
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: vault-kong-v2
|
||||
target:
|
||||
name: payments-token-exchange-broker
|
||||
data:
|
||||
- secretKey: TOKEN_EXCHANGE_CLIENT_SECRET
|
||||
remoteRef:
|
||||
key: kong-v2/payments-api/token-exchange-broker
|
||||
property: client_secret
|
||||
Reference in New Issue
Block a user