Achados
bug 1
lib/cleat_deploy/apps/env_apply.ex:81
env_set sobe worker golang fantasma
O ramo inativo agora dá start em qualquer unit sem stamp próprio.
Golang sem deploy_manifest["units"] ainda inventa -worker.
Se a unit não existir, o apply espera 30s e devolve env_apply_failed
depois de já ter gravado o env. O teste afirma restart de gowa-worker.
Só auto-start da unit primária, ou pular start se systemctl cat
não achar o arquivo. Extras: restart se ativas, reset-failed+start
só se is-failed. Hibernate deve olhar o stamp da unit primária.
Tratar units == [] como “sem extras”.
bug 2
lib/cleat_deploy/apps/env_apply.ex:123
journalctl cru fura a redação
Falha de recovery manda journalctl -n 30 sem Redact
para API e LiveView. No WAHA isso devolve material Signal que o mesmo PR
passou a mascarar em logs.
Rodar Redact.message/1 na stdout, limitar o payload, e preferir
“unit não ficou pronta” com ponteiro para a aba de logs.
bug 3
lib/cleat_deploy_web/live/signals_live.ex:94
Card “Indisponíveis” ficou morto
O hint ainda diz “Último deploy falhou”, mas :unavailability
não é mais emitido. Deploy falho vai para “Degradadas”. O card de
indisponíveis fica em 0.
Mover a copy de deploy falho para o card degradado, ou retirar
indisponíveis até existir health HTTP.
sugestão 4
lib/cleat_deploy/observability/redact.ex:13
Padrão Buffer ainda é estreito
Casa só privKey|pubKey|rootKey|remoteIdentityKey|baseKey: <Buffer …>.
chainKey, Uint8Array e JSON Buffer passam.
Redigir qualquer <Buffer …> (e formas vizinhas) depois de um campo *Key.
sugestão 5
lib/cleat_deploy/apps/env_apply.ex:89
Comentário narra o loop
“Mirror the golang deploy gate…” só narra o loop. Manter só o porquê:
não devolver sucesso com o processo ainda no chão.