assay.traefik
Traefik reverse proxy API. Routers, services, middlewares, entrypoints, TLS status. Client:
traefik.client(url).
c.info:overview()→ overview — Get Traefik dashboard overviewc.info:version()→ version — Get Traefik versionc.info:rawdata()→ data — Get raw Traefik configuration datac.entrypoints:list()→ [entrypoint] — List all entrypointsc.entrypoints:get(name)→ entrypoint — Get entrypoint by namec.routers:list()→ [router] — List HTTP routersc.routers:get(name)→ router — Get HTTP router by namec.routers:is_enabled(name)→ bool — Check if router status is "enabled"c.routers:has_tls(name)→ bool — Check if router has TLS configuredc.routers:healthy()→ enabled, errored — Count enabled vs errored HTTP routers (two return values)c.services:list()→ [service] — List HTTP servicesc.services:get(name)→ service — Get HTTP service by namec.services:server_count(name)→ number — Count load balancer servers for servicec.middlewares:list()→ [middleware] — List HTTP middlewaresc.middlewares:get(name)→ middleware — Get HTTP middleware by namec.tcp:routers()→ [router] — List TCP routersc.tcp:services()→ [service] — List TCP services
Example:
local traefik = require("assay.traefik")
local c = traefik.client("http://traefik:8080")
local enabled, errored = c.routers:healthy()
assert.eq(errored, 0, "Some routers have errors")