Limpar as envs sem leitor no Coolify depois do release¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-15
O que é¶
O scripts/coolify/limpeza.py apaga, nos recursos do Coolify, as envs que o código de cada app deixou
de ler. É a metade "depois do deploy" do ciclo de vida de env
(coolify, Ciclo de vida e auditoria de env):
env nova se cadastra antes do deploy que a lê; env que sumiu se apaga depois que todo deploy está na
versão nova. O script mora neste repo porque o central-backend é o dono do CoolifyClient e do
control-plane de deploy.
Quando usar¶
A cada leva de releases, até o relatório terminar em limpeza COMPLETA. Cada app só é tocado quando o
próprio release está servindo; os demais ficam para a rodada seguinte.
Pré-requisitos¶
- O checkout da raiz multi-repo, com os clones dos repos listados no
PLANOdo script: ele rodagit fetchegit grepneles. A raiz vem da envXADM_RAIZ; sem ela, é a pasta quatro níveis acima do script (<raiz>/integracao/central-backend/scripts/coolify/). <raiz>/.envcomCOOLIFY_URLeCOOLIFY_TOKEN. A API do Coolify tem allowlist de IPv4: rode de uma máquina dentro dela. O script força IPv4.- Python 3, sem dependência externa.
Passos¶
python scripts/coolify/limpeza.py # dry-run: por app, se o gate passou e o que apagaria
python scripts/coolify/limpeza.py --aplicar # apaga só nos apps liberados
Leia o dry-run antes do --aplicar: cada linha diz o app, o gate e as chaves que sairiam.
As travas¶
-
Gate por app — nada se apaga antes de o código novo estar servindo:
versao: o/infopúblico do app serve versão maior que a baseline doPLANO;commit: stack compose (ps.*): o último deployfinisheddescende do commit da migração, conferido no clone local;- sem gate: env que nenhuma versão lê (
NIXPACKS_*com build pack Dockerfile).
A perna
-jar-pullsegue o gate da-native-pulldo mesmo app. 2.git grep -w <CHAVE>no ref liberado, fora de*.mdedocs/: chave que ainda aparece em código ou config fica, e o script avisa (AINDA LIDAS).
Backup¶
Com --aplicar, as chaves apagadas e os valores vão para scripts/coolify/backup-<data>.json. O
arquivo tem segredo: o .gitignore o exclui; apague depois de conferir. Env travada
(is_shown_once) sai com valor vazio no backup, porque a API não devolve o valor — é "travada, valor
desconhecido", nunca "vazia".
Manter o PLANO¶
O PLANO (recurso Coolify → repo, gate e chaves) é a lista da leva em curso. Uma leva nova de envs sem
leitor acrescenta a entrada com a baseline — a versão no ar antes do release que deixou de ler a chave —
e as chaves. Recurso que sumiu do Coolify é ignorado, com aviso.
O que fica fora¶
- Apagar recurso (as pernas
-jar-pulldesligadas): remover recurso no Coolify não tem volta, e nenhum script faz isso. - Cadastrar env nova antes do deploy: é a subseção
Coolify — antes do deployda### Migraçãodo CHANGELOG, que a/xadm-releasepreenche.