Aparência
Recuperação de deploy
Quando um deploy falha ou para no meio, o caminho suportado é diagnosticar e corrigir para frente: descobrir em que etapa ele parou, corrigir a causa e aplicar de novo.
O comando finnest rollback foi desativado
Voltar para um estado anterior da infraestrutura não reverte com segurança os recursos que já estão na nuvem. Por isso, finnest rollback sempre responde ROLLBACK_UNSUPPORTED e indica o diagnóstico abaixo.
1. Diagnostique
bash
CLOUD=aws ENVIRONMENT=sandbox # ou: azure, prod
finnest recover deploy --run=latest --cloud="$CLOUD" --environment="$ENVIRONMENT"O comando só lê as evidências da execução e não altera nada na nuvem. Ele informa a etapa em que o deploy parou, a classificação da falha e o próximo comando seguro. Em vez de latest, você pode informar o identificador de uma execução específica (veja finnest runs).
2. Siga o próximo comando indicado
| Classificação | Próximo passo |
|---|---|
prerequisite, cluster-unreachable | Corrija o pré-requisito e rode finnest doctor. |
state-drift, program-error, runtime-policy | finnest deploy --preview --skip-bootstrap, depois aplique. |
kubernetes-field-conflict | finnest deploy --preview --skip-bootstrap --adopt. |
product-auth | A infraestrutura está no ar. Corrija a credencial ou a configuração e rode finnest smoke. |
protected-secret-target-drop | Confira o material com finnest secrets list. |
protected-resource | Siga a orientação impressa; se não for possível reconciliar, gere o pacote de suporte. |
immutable-platform-shape | A mudança exige recriar a plataforma. Revise com finnest destroy --preview e fale com o suporte. |
interrupted, unknown | Gere o pacote de suporte. |
3. Aplique a correção
Rode a prévia com as mesmas opções de recuperação que o diagnóstico indicou e, se ela estiver correta, aplique trocando --preview por --apply --yes, sem --adopt. Para state-drift, program-error e runtime-policy, mantenha --skip-bootstrap também no apply; sem ela, o deploy volta à etapa de preparação e pode esbarrar na mesma divergência:
bash
CLOUD=aws ENVIRONMENT=sandbox # ou: azure, prod
finnest deploy --cloud="$CLOUD" --environment="$ENVIRONMENT" --preview --skip-bootstrap
finnest deploy --cloud="$CLOUD" --environment="$ENVIRONMENT" --apply --yes --skip-bootstrapA opção --adopt só ensaia a adoção na prévia: o deploy recusa --adopt junto com --apply (DEPLOY_ADOPT_PREVIEW_ONLY). Depois de uma prévia com --adopt, aplique só com --skip-bootstrap.
Nos demais casos, siga o comando indicado. Se depois for preciso aplicar de novo, use o deploy normal:
bash
CLOUD=aws ENVIRONMENT=sandbox # ou: azure, prod
finnest deploy --cloud="$CLOUD" --environment="$ENVIRONMENT" --preview
finnest deploy --cloud="$CLOUD" --environment="$ENVIRONMENT" --apply --yesPacote de suporte
Antes de apagar qualquer recurso na nuvem ou no armazenamento do estado, gere o pacote de suporte e fale com a Finnest:
bash
finnest support bundle --run=<id-da-execução>O pacote reúne as evidências redigidas da execução e o diagnóstico local.
Trava de execução na AWS
Se uma execução na AWS foi interrompida e deixou a trava do alvo presa, o erro informa o identificador do dono da trava. Depois de confirmar que nenhuma outra execução está em andamento, libere-a:
bash
ENVIRONMENT=sandbox # ou: prod
finnest recover aws-lock <id-do-dono> execution-stopped --cloud=aws --environment="$ENVIRONMENT" --yesAções ainda não disponíveis
finnest recover deploy --resume, --rollback, --stop-spend e --adopt sem --preview respondem RECOVER_MUTATION_NOT_ENABLED. A recuperação é sempre feita por um novo deploy.