naftiko: 1.0.0-alpha2 info: label: Traefik Traffic Observability description: Workflow capability focused on observing the health, version, and runtime state of a Traefik proxy or API gateway. Covers version reporting, overview statistics (router/service/middleware counts), entry point inspection, and the liveness ping. Designed for SRE dashboards, status pages, and AI-assisted incident response. tags: - API Gateway - Health Check - Liveness - Monitoring - Observability - Operations - Traefik created: '2026-05-15' modified: '2026-05-15' binds: - namespace: env keys: TRAEFIK_API_URL: TRAEFIK_API_URL capability: consumes: - type: http namespace: traefik-api baseUri: '{{env.TRAEFIK_API_URL}}' description: Traefik Proxy REST API. resources: - name: overview path: /api description: Version and overview information. operations: - {name: get-version, method: GET, description: Get Traefik version., outputRawFormat: json, outputParameters: [{name: result, type: object, value: '$.'}]} - {name: get-overview, method: GET, description: Overview counts for HTTP/TCP/UDP., outputRawFormat: json, outputParameters: [{name: result, type: object, value: '$.'}]} - {name: get-support-dump, method: GET, description: Anonymized configuration archive for support escalation., outputRawFormat: binary, outputParameters: [{name: result, type: object, value: '$.'}]} - name: entrypoints path: /api/entrypoints description: Network entry points configured on Traefik. operations: - {name: list-entry-points, method: GET, description: List entry points., outputRawFormat: json, outputParameters: [{name: result, type: array, value: '$.'}]} - {name: get-entry-point, method: GET, description: Get a single entry point., inputParameters: [{name: name, in: path, type: string, required: true, description: Entry point name.}], outputRawFormat: json, outputParameters: [{name: result, type: object, value: '$.'}]} - name: health path: /ping description: Liveness endpoint. operations: - {name: ping, method: GET, description: Liveness probe returning 200 OK., outputRawFormat: text, outputParameters: [{name: result, type: string, value: '$.'}]} exposes: - type: rest port: 8081 namespace: traefik-traffic-observability-api description: Read-only REST surface for Traefik health and overview metrics. resources: - path: /v1/version name: version operations: - {method: GET, name: get-version, description: Traefik version., call: traefik-api.get-version, outputParameters: [{type: object, mapping: '$.'}]} - path: /v1/overview name: overview operations: - {method: GET, name: get-overview, description: Configuration overview., call: traefik-api.get-overview, outputParameters: [{type: object, mapping: '$.'}]} - path: /v1/entry-points name: entry-points operations: - {method: GET, name: list-entry-points, description: List entry points., call: traefik-api.list-entry-points, outputParameters: [{type: array, mapping: '$.'}]} - {method: GET, name: get-entry-point, description: Get entry point by name., call: traefik-api.get-entry-point, outputParameters: [{type: object, mapping: '$.'}]} - path: /v1/health name: health operations: - {method: GET, name: ping, description: Liveness probe., call: traefik-api.ping, outputParameters: [{type: string, mapping: '$.'}]} - path: /v1/support-dump name: support-dump operations: - {method: GET, name: get-support-dump, description: Anonymized configuration archive., call: traefik-api.get-support-dump, outputParameters: [{type: object, mapping: '$.'}]} - type: mcp port: 9091 namespace: traefik-traffic-observability-mcp transport: http description: MCP server for AI-assisted Traefik health monitoring and overview reporting. tools: - {name: get-traefik-version, description: Get the Traefik version and codename. Useful for incident response and release-correlation., hints: {readOnly: true, idempotent: true}, call: traefik-api.get-version, outputParameters: [{type: object, mapping: '$.'}]} - {name: get-routing-overview, description: Get the count of routers, services, and middlewares across HTTP/TCP/UDP and the enabled features., hints: {readOnly: true, idempotent: true}, call: traefik-api.get-overview, outputParameters: [{type: object, mapping: '$.'}]} - {name: list-entry-points, description: List configured entry points and the ports they listen on., hints: {readOnly: true, idempotent: true}, call: traefik-api.list-entry-points, outputParameters: [{type: array, mapping: '$.'}]} - {name: check-traefik-health, description: Hit the /ping endpoint to verify Traefik is alive., hints: {readOnly: true, idempotent: true}, call: traefik-api.ping, outputParameters: [{type: string, mapping: '$.'}]} - {name: get-traefik-support-dump, description: Fetch an anonymized support-dump archive of the running Traefik configuration for sharing with Traefik Labs support., hints: {readOnly: true, idempotent: true}, call: traefik-api.get-support-dump, outputParameters: [{type: object, mapping: '$.'}]}