v1.13.5
Features
- A health check editor for services. A plain load balancer now has a Health check section covering every field Traefik takes: path, interval, timeout, interval when down, method, expected status, scheme, port, host header, mode and headers. All are optional, and with no path Traefik probes the server root. A pool of two or more servers without one is flagged on its card, since Traefik reports every server as up until a health check exists (#165)
- Ping checks every server in a pool. The heartbeat button asked the proxy, which answers even when one backend is dead. Each server is now checked directly, so a dead member reads as degraded and names the address, matching what the background check already reported (#165)
Fixes
- Service names were refused that Traefik accepts. The editor allowed only letters, numbers, dots, dashes and underscores, so a name like
xxx (yyy)could not be opened or saved even though Traefik runs it happily. Names now allow anything Traefik does, under one rule shared by routes, services and middlewares: no@ / , : { }, nothing longer than 100 characters (#165) - Route and middleware names were never validated at all, so a name containing
@or/could be saved and then not be addressable afterwards. They follow the same rule now - Degraded routes were coloured but never counted. The HTTP routers card, the verdict line and the entry point rows all counted a route with a dead backend server as healthy, and a pod header read
1 downwhile hiding a degraded route next to it. Every one of them counts degraded now, and the count filters the Routes tab to it (#165) - A route save truncated health check settings the route form has no editor for. Saving a route rewrote its service's health check from three fields, dropping method, port, headers and the rest. Those survive now
- A recovered pool still counted as degraded on the stat cards until the page was reloaded
- Compound durations like
1m30swere silently discarded where Traefik accepts them GET /api/routes/healthandPOST /api/settings/route-healthwere missing from the OpenAPI spec