`runner reconcile`

Regenera o .deploy.yml de uma app derivada de docker-compose quando o compose upstream mudou, preservando as respostas do wizard. E a saida para o erro:

compose drift detected

Sintaxe

runner reconcile <app>
runner reconcile <app> --apply
runner reconcile <app> --apply --no-push
runner reconcile <app> -o json

Argumentos

Argumento Tipo Obrigatorio Descricao
<app> string Sim App registrada (project name, path ou project/system)

Flags

Flag Default Descricao
--apply false Escreve a nova versao em disco sem prompt. Sem ela, o comando so mostra o diff
--push / --no-push segue reconcile_auto_push do config.yml (true) Commit + push do manifesto reconciliado pro repo, fechando o loop com o cron fetch
-o, --output human human | json | yaml
--json false DEPRECATED — use -o json. Removido na v3.0.0
-x, --exact false Desliga a resolucao por query: <app> vira nome exato, um alvo so
--yes false Pula a confirmacao de sobrescrita e a de multi-alvo do mesmo projeto
--insecure false Bypass dos guards de seguranca. Emite banner e grava em insecure-events.jsonl

Fluxo tipico

# 1. o deploy falhou com "compose drift detected"
runner deploy monorepo-backend

# 2. ver o que mudou (sem escrever nada)
runner reconcile monorepo-backend

# 3. aplicar e propagar pro repo
runner reconcile monorepo-backend --apply

Sem --apply, o comando e read-only: util para revisar o diff antes de decidir.

Multiplos alvos e a fronteira do projeto (v2.80.0+)

<app> nao e um nome exato: e uma query, casada por segmento. runner reconcile ccs alcanca ccs/sys, ccs/front e ccs/worker — replicar o comando nos sistemas de um projeto e o desenho do runner, nao um acidente.

Situacao Comportamento
1 alvo Executa direto, sem cerimonia
N alvos, mesmo projeto Lista os alvos e pede confirmacao. --yes dispensa
N alvos, projetos distintos Terminal: pergunta. Cron/CI (sem TTY): aborta com exit != 0. Nenhuma flag autoriza

O "projeto" aqui e a raiz antes do primeiro hifen: ccs-front e ccs-sys sao o mesmo projeto (ccs); ccs-front e nfse-front nao sao.

--yes e passado por habito, em script e cron. Se valesse para o cruzamento, o gate morreria exatamente onde ninguem esta olhando. Em terminal interativo o cruzamento pergunta; em cron/CI (sem TTY) aborta com exit != 0. Saida: -x para mirar um alvo so.

Ver tambem

By Borlot.com.br on 19/08/2026