Traefik Mesh Configuration API

Endpoints for retrieving the current dynamic Traefik configuration generated by the Traefik Mesh controller.

OpenAPI Specification

traefik-mesh-configuration-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Traefik Mesh Controller Configuration API
  description: 'The Traefik Mesh Controller API provides internal debugging and status endpoints for the Traefik Mesh controller pod running in a Kubernetes cluster. It exposes the current dynamic Traefik configuration built by the controller, the mesh topology, the readiness state of the controller, and per-node configuration for each Traefik Mesh proxy node. This API is accessed directly on the controller pod IP at port 9000 and is intentionally not exposed via a Kubernetes Service for security reasons.


    Maintenance status: this surface is documented as of Traefik Mesh v1.4.8 (released 2022-08-19), the most recent tagged release. The project has received only CI and documentation maintenance since then and there is no announced successor from Traefik Labs. Consumers should treat this API as stable in shape but unlikely to evolve.'
  version: 1.4.8
  x-maintenance: dormant
  x-last-release-date: '2022-08-19'
  contact:
    name: Traefik Labs
    url: https://traefik.io/
  license:
    name: Apache 2.0
    url: https://github.com/traefik/mesh/blob/master/LICENSE
servers:
- url: http://controller-pod-ip:9000
  description: Traefik Mesh Controller Pod (direct pod IP access)
tags:
- name: Configuration
  description: Endpoints for retrieving the current dynamic Traefik configuration generated by the Traefik Mesh controller.
paths:
  /api/configuration/current:
    get:
      operationId: getCurrentConfiguration
      summary: Get Current Controller Configuration
      description: Returns the current dynamic Traefik configuration built by the Traefik Mesh controller. This is the live configuration that the controller has computed from Kubernetes services, SMI resources, and annotations. The response may differ between requests as it reflects real-time state.
      tags:
      - Configuration
      responses:
        '200':
          description: Current dynamic configuration as raw JSON.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicConfiguration'
components:
  schemas:
    DynamicConfiguration:
      type: object
      description: Traefik dynamic configuration object containing HTTP, TCP, and UDP routing rules, middlewares, services, and TLS configuration generated by the Traefik Mesh controller.
      properties:
        http:
          type: object
          description: HTTP routing configuration including routers, services, and middlewares.
          properties:
            routers:
              type: object
              additionalProperties:
                type: object
            services:
              type: object
              additionalProperties:
                type: object
            middlewares:
              type: object
              additionalProperties:
                type: object
        tcp:
          type: object
          description: TCP routing configuration.
          properties:
            routers:
              type: object
              additionalProperties:
                type: object
            services:
              type: object
              additionalProperties:
                type: object
        udp:
          type: object
          description: UDP routing configuration.
          properties:
            routers:
              type: object
              additionalProperties:
                type: object
            services:
              type: object
              additionalProperties:
                type: object
externalDocs:
  description: Traefik Mesh API Documentation
  url: https://doc.traefik.io/traefik-mesh/