Valor fixo no template faz o render apagar o que a produção tinha ligado
[!NOTE] Resumo Executivo (DEV-2026-097): O render-config regenerava os INI com opções fixas em zero, apagando o que tinha sido ligado no servidor. As opções viraram chaves de ambiente, e a revisão achou outros defeitos na mesma família de scripts.
🚨 O Desafio Técnico / Contexto
MonitorarChamadasPabx e GravarInternas estavam com 0 no template, então cada render desligava o que a VPS ou o MonitorOPS tinha gravado. O deploy parecia certo e a opção sumia sem aviso.
💡 Principais Lições Aprendidas & Descobertas
- 💡 O mecanismo mudou para LORENTZ_CTI_MONITORAR_CHAMADAS_PABX e LORENTZ_CTI_GRAVAR_INTERNAS, mas sem a chave o render ainda grava 0. Inclua a chave no .env antes do próximo render.
-
💡 sed com senha contendo &, ou aspas corrompia a linha ou derrubava o script. A troca virou str.replace em Python. - 💡 source do .env inteiro executava uma nota colada no arquivo. O filtro KEY=VAL, que o Caddy já tinha, foi para os quatro scripts bash, com remoção do CR do Windows.
- 💡 Aspas em volta do valor no .env iam parar no INI, porque o bash as tirava e o leitor Python não. Dois leitores do mesmo arquivo precisam ter a mesma regra.
- 💡 Placeholder que o script não substituía chegava ao .env do PBX como valor literal. Vale conferir o arquivo gerado, não só o exit code.
🛠️ Especificação Técnica & Código-Chave
# Lê só linhas KEY=VAL, sem executar o resto do arquivo
grep -E '^[A-Za-z_][A-Za-z0-9_]*=' .env | tr -d '\r'
📈 Impacto no Ecossistema & Valor Prático
O render deixou de desfazer ajustes da produção quando a chave está no .env, e senhas com caracteres especiais pararam de quebrar o script.
- Projetos Relacionados:
lorentz-vps-stack - Registro de Origem:
_data/daily.dev-17.yml
Publicado originalmente como parte do Diário de Desenvolvimento 2026 do ecossistema Artes do Sul & Araguaci.