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:
Stéphane Tailland
2026-08-23 16:23:00 +02:00
parent 79d0b5a078
commit bf5adadb24
19 changed files with 660 additions and 11 deletions
+107
View File
@@ -0,0 +1,107 @@
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata:
name: ${NAME}-payments-api-rewrite-listpayments-binding
namespace: ${NAMESPACE}
spec:
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: ${CONTROL_PLANE_REF_NAME}
pluginRef:
name: ${NAME}-payments-api-rewrite-listpayments
targets:
routeRef:
group: configuration.konghq.com
kind: KongRoute
name: ${NAME}-payments-api-listpayments
---
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata:
name: ${NAME}-payments-api-rewrite-createpayment-binding
namespace: ${NAMESPACE}
spec:
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: ${CONTROL_PLANE_REF_NAME}
pluginRef:
name: ${NAME}-payments-api-rewrite-createpayment
targets:
routeRef:
group: configuration.konghq.com
kind: KongRoute
name: ${NAME}-payments-api-createpayment
---
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata:
name: ${NAME}-payments-api-rewrite-getpayment-binding
namespace: ${NAMESPACE}
spec:
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: ${CONTROL_PLANE_REF_NAME}
pluginRef:
name: ${NAME}-payments-api-rewrite-getpayment
targets:
routeRef:
group: configuration.konghq.com
kind: KongRoute
name: ${NAME}-payments-api-getpayment
---
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata:
name: ${NAME}-payments-api-rewrite-updatepayment-binding
namespace: ${NAMESPACE}
spec:
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: ${CONTROL_PLANE_REF_NAME}
pluginRef:
name: ${NAME}-payments-api-rewrite-updatepayment
targets:
routeRef:
group: configuration.konghq.com
kind: KongRoute
name: ${NAME}-payments-api-updatepayment
---
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata:
name: ${NAME}-payments-api-rewrite-patchpayment-binding
namespace: ${NAMESPACE}
spec:
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: ${CONTROL_PLANE_REF_NAME}
pluginRef:
name: ${NAME}-payments-api-rewrite-patchpayment
targets:
routeRef:
group: configuration.konghq.com
kind: KongRoute
name: ${NAME}-payments-api-patchpayment
---
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata:
name: ${NAME}-payments-api-rewrite-deletepayment-binding
namespace: ${NAMESPACE}
spec:
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: ${CONTROL_PLANE_REF_NAME}
pluginRef:
name: ${NAME}-payments-api-rewrite-deletepayment
targets:
routeRef:
group: configuration.konghq.com
kind: KongRoute
name: ${NAME}-payments-api-deletepayment