`runner route`
Desde a v2.172.0. Mostra e ativa o certificado de cada domínio de uma app. O contexto completo está em Domínios e certificados.
`runner route status [--json] [-x]`
Mostra, por domínio da instância registrada:
| Campo (JSON) | O que é |
|---|---|
domain |
o domínio |
declared |
true com routing.tls no manifesto (o gatekeeper cuida); false = portão de DNS do deploy + tls-watch |
strategy |
o routing.tls declarado |
capability |
o par pedido (http-01, dns-01/cloudflare…) |
mode |
direto · proxy · privado · pendente · nao_confirmado |
state |
pronto · pendente · ignorado · falhou |
reason |
o motivo, com código (dns_pendente: …, resolver_ausente: …) |
resolver |
o resolver aplicado na rota |
certificate |
o que o Traefik serve agora: emitido · padrao · desconhecido |
certificate_issuer |
o emissor, quando emitido |
certificate_note |
presente no certificado padrão, com o porquê |
last_check · attempts |
a última conferência do gatekeeper e quantas tentativas |
warnings |
ex.: o Traefik não declara forwardedHeaders.trustedIPs para domínio atrás de proxy |
{
"app": "loja",
"instance": "production",
"domains": [
{
"domain": "loja.exemplo.com",
"declared": true,
"strategy": "acme-http",
"capability": "http-01",
"mode": "pendente",
"state": "pendente",
"reason": "dns_pendente: o DNS ainda não aponta para este servidor — certificado padrão do Traefik (autoassinado) até apontar",
"resolver": null,
"certificate": "padrao",
"certificate_note": "certificado padrão do Traefik (autoassinado): dns_pendente: … — o navegador vai avisar até o gatekeeper emitir",
"last_check": "2026-10-25T12:00:00+00:00",
"attempts": 2
}
]
}
`runner route activate [--domain X] [--skip-dns-gate] [--json] [-x]`
Confere agora (DNS, NS da zona e sonda de origem) e aplica o resolver nos domínios prontos, sem deploy:
- modo file: reescreve o route file da instância;
- modo labels: escreve o router TLS no file provider.
Domínio que segue segurado sai com exit 3. Erros saem em JSON
({"error", "message"}):
| Código | Quando |
|---|---|
dominio_desconhecido |
--domain não é da instância |
sem_dominio |
a instância não publica domínio |
--skip-dns-gate aplica sem conferir. Skip não inventa resolver que não
existe, e acme-tls atrás de proxy continua sem emitir.
Em app sem routing.tls declarado, o activate confere com auto e
aplica, mas não grava estado, porque o cron não o mantém para essa app.
Ver também
- `runner deploy --skip-dns-gate`
- `runner traefik info` — o mapa de resolvers
By Borlot.com.br on 25/10/2026