Este guia mostra como remover completamente um deployment do Midaz do Kubernetes. Um helm uninstall padrão remove os recursos gerenciados pelo Helm, mas vários recursos persistentes — PersistentVolumeClaims, Secrets, ConfigMaps e o próprio namespace — são intencionalmente deixados para evitar perda acidental de dados. Esta página cobre como limpá-los completamente quando necessário.
Desinstalar o Midaz exclui permanentemente os dados da aplicação. Antes de prosseguir, certifique-se de ter backups de todos os bancos de dados e de qualquer dado que precise preservar. Esta operação é irreversível.
Execute o seguinte comando para desinstalar o release do Helm do Midaz:
helm uninstall midaz -n midaz
Isso remove todos os recursos do Kubernetes criados pelo chart do Helm — Deployments, Services, Ingresses, ConfigMaps gerenciados pelo Helm, ServiceAccounts e recursos RBAC. Não remove PersistentVolumeClaims, Secrets criados fora do Helm, nem o namespace.Verifique se todos os pods gerenciados pelo Helm foram removidos:
Os PVCs armazenam os volumes dos bancos de dados e nunca são removidos pelo helm uninstall. Liste-os primeiro para confirmar o que existe:
kubectl get pvc -n midaz
Delete todos os PVCs do namespace (isso destrói todos os dados armazenados nesses volumes):
kubectl delete pvc --all -n midaz
Ou delete PVCs específicos pelo nome:
kubectl delete pvc <pvc-name> -n midaz
Deletar os PVCs destrói permanentemente os dados dos volumes subjacentes do PostgreSQL, MongoDB e qualquer outra dependência com estado. Certifique-se de ter backups dos bancos de dados antes de executar este comando.
Secrets criados fora do ciclo de vida do release do Helm (por exemplo, com kubectl create secret) não são removidos pelo helm uninstall. Liste todos os secrets do namespace e identifique os que não são mais necessários:
Depois que todos os recursos dentro do namespace foram removidos, delete o namespace:
kubectl delete namespace midaz
Deletar o namespace removerá forçosamente qualquer recurso restante dentro dele. Se um recurso estiver travado em estado Terminating, pode ser necessário remover seus finalizers manualmente.
Para ambientes de staging, avaliação ou CI onde uma remoção total é segura, o seguinte script automatiza todo o processo:
A perda de dados é permanente. Execute isso apenas em ambientes onde você tenha backups confirmados ou onde a perda de dados seja aceitável (staging, avaliação, CI). Não execute em produção sem backup completo e aprovação da equipe.
#!/bin/bashset -eNAMESPACE=midazRELEASE=midazecho "==> Desinstalando release do Helm: $RELEASE"helm uninstall "$RELEASE" -n "$NAMESPACE" || trueecho "==> Deletando todos os PersistentVolumeClaims"kubectl delete pvc --all -n "$NAMESPACE" || trueecho "==> Deletando todos os Secrets"kubectl delete secrets --all -n "$NAMESPACE" || trueecho "==> Deletando todos os ConfigMaps"kubectl delete configmaps --all -n "$NAMESPACE" || trueecho "==> Deletando namespace: $NAMESPACE"kubectl delete namespace "$NAMESPACE" || trueecho "==> Concluído. O Midaz foi completamente removido."
Salve como midaz-cleanup.sh, torne-o executável (chmod +x midaz-cleanup.sh) e execute com ./midaz-cleanup.sh.