Traefik Labs · Schema
Traefik Service
Represents an HTTP, TCP, or UDP service in a running Traefik instance, including its load balancer configuration, backend servers, and health check settings.
AI GatewayAPI GatewayAPI ManagementDeveloper PortalGitOpsKubernetesLoad BalancerMCP GatewayOpen SourceReverse ProxyWAF
Properties
| Name | Type | Description |
|---|---|---|
| name | string | The name of the service in name@provider format. |
| type | string | The type of service. |
| status | string | The current operational status of the service. |
| provider | string | The configuration provider that created this service (e.g., docker, kubernetes, file). |
| protocol | string | The protocol this service handles. |
| loadBalancer | object | Load balancer configuration including backend servers and health checks. |
| serverStatus | object | Map of server URLs to their current health status. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://traefik.io/schemas/traefik/service.json",
"title": "Traefik Service",
"description": "Represents an HTTP, TCP, or UDP service in a running Traefik instance, including its load balancer configuration, backend servers, and health check settings.",
"type": "object",
"required": ["name"],
"properties": {
"name": {
"type": "string",
"description": "The name of the service in name@provider format.",
"minLength": 1
},
"type": {
"type": "string",
"description": "The type of service.",
"enum": ["loadBalancer", "weighted", "mirroring"]
},
"status": {
"type": "string",
"description": "The current operational status of the service.",
"enum": ["enabled", "disabled", "warning"]
},
"provider": {
"type": "string",
"description": "The configuration provider that created this service (e.g., docker, kubernetes, file)."
},
"protocol": {
"type": "string",
"description": "The protocol this service handles.",
"enum": ["http", "tcp", "udp"]
},
"loadBalancer": {
"$ref": "#/$defs/LoadBalancer",
"description": "Load balancer configuration including backend servers and health checks."
},
"serverStatus": {
"type": "object",
"description": "Map of server URLs to their current health status.",
"additionalProperties": {
"type": "string"
}
}
},
"$defs": {
"LoadBalancer": {
"type": "object",
"description": "Load balancer configuration distributing traffic across backend servers.",
"properties": {
"servers": {
"type": "array",
"description": "List of backend servers to load balance across.",
"items": {
"$ref": "#/$defs/Server"
}
},
"passHostHeader": {
"type": "boolean",
"description": "Whether to pass the original Host header to backend servers."
},
"healthCheck": {
"$ref": "#/$defs/HealthCheck",
"description": "Health check configuration for monitoring backend server availability."
}
}
},
"Server": {
"type": "object",
"description": "A backend server in the load balancer pool.",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The URL of the backend server (HTTP/HTTPS services)."
},
"address": {
"type": "string",
"description": "The address of the backend server in host:port format (TCP/UDP services)."
}
}
},
"HealthCheck": {
"type": "object",
"description": "Configuration for periodic health checks against backend servers.",
"properties": {
"scheme": {
"type": "string",
"description": "The scheme to use for health check requests (http or https)."
},
"path": {
"type": "string",
"description": "The path to use for health check requests."
},
"port": {
"type": "integer",
"description": "The port to use for health check requests.",
"minimum": 1,
"maximum": 65535
},
"interval": {
"type": "string",
"description": "The interval between health checks (e.g., '10s', '30s')."
},
"timeout": {
"type": "string",
"description": "The timeout for each health check request (e.g., '5s')."
}
}
}
}
}