`runner manifest`
Exibe o conteúdo do .deploy.yml de uma app registrada. A partir de v2.23.0 suporta --resolved para renderizar {{::Var}} templates antes do output.
Sintaxe
runner manifest <app> [--resolved] [--json]| Flag | Default | Descrição |
|---|---|---|
--resolved |
false |
Renderiza {{::Var}} usando .env + .secrets + secrets.enc |
--json |
false |
Output em JSON (parse do YAML) |
Modo padrão — `.deploy.yml` cru
runner manifest meu-appImprime o YAML exatamente como está no disco, com templates não-resolvidos:
project: meu-app
system: sys
environment:
BASE_DOMAIN: "{{::Domain?meu-app.com.br}}"
secrets:
DB_PASSWORD: "{{::DB_PASSWORD}}"`--resolved` — simula o que entra no container (v2.23.0+)
Renderiza os templates usando os valores realmente armazenados no app dir. Útil para validar o deploy sem rodar de fato — paridade com o simulate_deploy do wizard MCP.
runner manifest meu-app --resolvedOutput:
project: meu-app
system: sys
environment:
BASE_DOMAIN: "meu-app.com.br"
secrets:
DB_PASSWORD: "<UNRESOLVED:DB_PASSWORD>"Origem dos valores (precedência)
A partir de v2.23.3, o renderer consulta as 3 fontes em ordem:
.runner/secrets.enc(decriptado com ckey) — backup encriptado.envplaintext — sobrescreve secrets.enc se presente.secretsplaintext — sobrescreve.envse presente
Templates {{::Var?default}} usam o default quando nenhuma das 3 fontes resolveu a key.
Templates não-resolvidos
Quando uma key não tem valor e nem default, o renderer substitui por <UNRESOLVED:KEY> e emite warning no stderr:
⚠ Unresolved templates (left as <UNRESOLVED:KEY>): DB_PASSWORD, API_KEYIsso facilita identificar quais secrets você ainda precisa preencher antes do deploy.
Output JSON
Com --json, runner re-parseia o YAML rendered (ou cru) e emite estrutura:
runner manifest meu-app --resolved --json{
"project": "meu-app",
"system": "sys",
"environment": {
"BASE_DOMAIN": "meu-app.com.br"
},
"secrets": {
"DB_PASSWORD": "<UNRESOLVED:DB_PASSWORD>"
}
}Use cases típicos
Debug pre-deploy:
# Confere se todos os templates resolvem
runner manifest meu-app --resolved 2>&1 | grep -E '<UNRESOLVED|⚠'Diff entre apps:
runner manifest app-a --resolved --json > a.json
runner manifest app-b --resolved --json > b.json
diff a.json b.jsonInspeção remota via CCS:
runner manifest meu-app --resolved --json
# CCS frontend renderiza o manifest sem precisar de SSH no servidorVeja também
- `runner secrets show` — apenas os secrets decifrados (não o YAML completo)
- `runner edit` — editar
.deploy.yml - `runner env set` — atualizar valores que aparecem em templates