naftiko: "1.0.0-alpha2" info: title: Kong Routes Publish description: >- When a Naftiko capability ships a REST expose, publishes the matching Kong Service + Route via the Kong Gateway Admin API so the gateway starts routing traffic to the new capability on the same release — no manual gateway-admin glue between Naftiko ship and Kong route. tags: - Naftiko - Kong - Partnership - Routes - Publish - Lifecycle created: '2026-05-15' modified: '2026-05-15' binds: - namespace: kong-admin description: Kong Gateway Admin API endpoint + token. keys: KONG_ADMIN_BASE: KONG_ADMIN_BASE KONG_ADMIN_TOKEN: KONG_ADMIN_TOKEN capability: consumes: - namespace: kong type: http baseUri: '{{KONG_ADMIN_BASE}}' authentication: type: bearer token: '{{KONG_ADMIN_TOKEN}}' resources: - name: services path: '/services' operations: - name: create-service method: POST - name: service path: '/services/{{service_id}}' operations: - name: update-service method: PATCH inputParameters: - { name: service_id, in: path, required: true } - name: delete-service method: DELETE inputParameters: - { name: service_id, in: path, required: true } - name: service-routes path: '/services/{{service_id}}/routes' operations: - name: create-service-route method: POST inputParameters: - { name: service_id, in: path, required: true } - name: routes path: '/routes/{{route_id}}' operations: - name: update-route method: PATCH inputParameters: - { name: route_id, in: path, required: true } - name: delete-route method: DELETE inputParameters: - { name: route_id, in: path, required: true } exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: kong-routes-publish-rest description: REST surface for publishing Naftiko REST exposes as Kong Services + Routes. resources: - name: services path: '/services' operations: - name: create-service method: POST call: kong.create-service - name: service path: '/services/{service_id}' operations: - name: update-service method: PATCH inputParameters: - { name: service_id, in: path, type: string, required: true } call: kong.update-service - name: delete-service method: DELETE inputParameters: - { name: service_id, in: path, type: string, required: true } call: kong.delete-service - name: service-routes path: '/services/{service_id}/routes' operations: - name: create-service-route method: POST inputParameters: - { name: service_id, in: path, type: string, required: true } call: kong.create-service-route - name: routes path: '/routes/{route_id}' operations: - name: update-route method: PATCH inputParameters: - { name: route_id, in: path, type: string, required: true } call: kong.update-route - name: delete-route method: DELETE inputParameters: - { name: route_id, in: path, type: string, required: true } call: kong.delete-route - type: mcp address: 0.0.0.0 port: 3010 namespace: kong-routes-publish-mcp description: MCP server for publishing Naftiko-built REST exposes as Kong Services + Routes. tools: - name: create-service description: Create a new Kong Service backing a Naftiko REST expose. hints: { destructiveHint: false } call: kong.create-service - name: update-service description: Update a Kong Service. hints: { destructiveHint: true } inputParameters: - { name: service_id, type: string, required: true } call: kong.update-service - name: delete-service description: Delete a Kong Service. hints: { destructiveHint: true } inputParameters: - { name: service_id, type: string, required: true } call: kong.delete-service - name: create-service-route description: Create a new Kong Route on a Kong Service (host/path/method matching). hints: { destructiveHint: false } inputParameters: - { name: service_id, type: string, required: true } call: kong.create-service-route - name: update-route description: Update a Kong Route. hints: { destructiveHint: true } inputParameters: - { name: route_id, type: string, required: true } call: kong.update-route - name: delete-route description: Delete a Kong Route. hints: { destructiveHint: true } inputParameters: - { name: route_id, type: string, required: true } call: kong.delete-route