runner audit

Le o arquivo deploy-events.jsonl em /opt/runner/logs/ e exibe eventos estruturados de deploy, rollback e canary com suporte a filtros e exportacao JSON.

Use quando: precisa auditar o historico de eventos de um projeto, investigar uma falha especifica ou exportar dados para uma ferramenta externa.

Sintaxe

runner audit [flags]

Flags

Flag Default Descricao
-p, --project <PROJECT> — Filtra pelo nome do projeto
-i, --instance <INSTANCE> — Filtra pelo nome da instancia
-e, --event <EVENT> — Filtra pelo tipo de evento (ex: deploy_success, deploy_failure)
-l, --limit <N> 100 Numero de entradas a retornar (mais recentes primeiro)
-o, --output <FORMAT> human Formato de saida: human, json, yaml
--json — Atalho para --output json
-h, --help — Exibe ajuda

Arquivos rotacionados (v2.174.1+)

O audit lê a cadeia inteira do log: deploy-events.jsonl, .1, .N e .N.gz, do mais novo ao mais antigo, e para ao atingir o --limit. Os .gz só são abertos se o limite ainda não foi atingido. O mesmo vale para runner activity. Um .gz que não abre é pulado com aviso, e o campo truncated_older_gz do JSON fica true.

Tipos de evento

Evento Quando ocorre
deploy_started Inicio do pipeline de deploy
deploy_success Deploy concluido com sucesso
deploy_failure Deploy falhou apos health check ou erro
rollback_started Inicio do rollback automatico ou manual
rollback_success Rollback concluido com sucesso (legado, emitido junto do deploy_rollback)
deploy_rollback Desfecho do rollback, UM por rollback (v2.175.1+)
canary_weight_changed Ajuste de peso de canary deployment

Eventos de registry e de rollback (v2.175.1+)

Nos eventos deploy_started, deploy_success e deploy_failure de uma app com source registry, o JSON traz image_tag e image_digest da versao implantada (nunca os da anterior). Apps de outras sources nao ganham os campos.

O deploy_rollback e gravado uma vez por rollback, inclusive quando ele falha:

Campo Descricao
from_version Versao que estava no ar
to_version Versao de destino do rollback
status success ou failure
error Mensagem da falha (mascarada), so em failure
image_tag, image_digest Imagem da versao de destino, so em app registry
{"event_type":"deploy_rollback","project":"loja","instance":"production","from_version":"v1.2.0","to_version":"v1.1.0","status":"success","image_tag":"v1.1.0","image_digest":"sha256:..."}

Os campos so aumentam: consumidores antigos continuam funcionando.

Exemplo

Todos os eventos recentes (human):

$ runner audit --limit 5
2026-05-27T14:30:19Z  deploy_success   meu-app/production  v1.3.0
2026-05-26T09:11:04Z  deploy_success   meu-app/production  v1.2.1
2026-05-25T18:42:30Z  deploy_failure   meu-app/production  v1.2.0
2026-05-25T18:43:10Z  rollback_success meu-app/production  v1.1.0
2026-05-24T11:00:15Z  deploy_success   meu-app/production  v1.1.0

Filtrar falhas de um projeto e exportar JSON:

$ runner audit --project meu-app --event deploy_failure --json
[
  {
    "timestamp": "2026-05-25T18:42:30Z",
    "event": "deploy_failure",
    "project": "meu-app",
    "instance": "production",
    "version": "v1.2.0",
    "error": "health check timeout after 30s"
  }
]

Filtrar por instancia de staging:

runner audit --project meu-app --instance staging --limit 20 --json

Erros comuns

  • audit log not found → o arquivo /opt/runner/logs/deploy-events.jsonl nao existe ainda; ele e criado no primeiro evento de deploy.
  • Filtro retorna lista vazia → verifique a grafia exata do projeto e instancia; os valores diferenciam maiusculas de minusculas e correspondem aos definidos no .deploy.yml.
  • permission denied → o arquivo de log so e legivel pelo usuario que executa o runner; rode com sudo runner audit se necessario.
By Borlot.com.br on 27/05/2026