> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Desinstalação da implantação do Midaz

> Remova completamente um deployment Helm do Midaz do Kubernetes — recursos gerenciados, volumes persistentes, secrets e o próprio namespace.

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.

<Warning>
  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.
</Warning>

## Pré-requisitos

***

Antes de desinstalar, faça backup dos seus valores atuais do Helm para poder reinstalar com a mesma configuração se necessário:

```bash theme={null}
helm get values midaz -n midaz > midaz-values-backup.yaml
```

Também faça backup de quaisquer releases de plugins:

```bash theme={null}
helm get values plugin-crm -n midaz > plugin-crm-values-backup.yaml
helm get values plugin-fees -n midaz > plugin-fees-values-backup.yaml
```

Verifique todos os releases que serão afetados:

```bash theme={null}
helm list -n midaz
```

***

## Desinstalação do release do Helm

***

Execute o seguinte comando para desinstalar o release do Helm do Midaz:

```bash theme={null}
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:

```bash theme={null}
kubectl get pods -n midaz
```

***

## Limpeza de recursos persistentes

***

### PersistentVolumeClaims

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:

```bash theme={null}
kubectl get pvc -n midaz
```

Delete todos os PVCs do namespace (isso destrói todos os dados armazenados nesses volumes):

```bash theme={null}
kubectl delete pvc --all -n midaz
```

Ou delete PVCs específicos pelo nome:

```bash theme={null}
kubectl delete pvc <pvc-name> -n midaz
```

<Danger>
  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.
</Danger>

### Secrets

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:

```bash theme={null}
kubectl get secrets -n midaz
```

Delete secrets órfãos individualmente:

```bash theme={null}
kubectl delete secret <secret-name> -n midaz
```

Ou delete todos os secrets do namespace:

```bash theme={null}
kubectl delete secrets --all -n midaz
```

### ConfigMaps

ConfigMaps criados manualmente ou por jobs de bootstrap também podem permanecer. Liste-os:

```bash theme={null}
kubectl get configmaps -n midaz
```

Delete ConfigMaps órfãos:

```bash theme={null}
kubectl delete configmap <configmap-name> -n midaz
```

***

## Limpeza do namespace

***

Depois que todos os recursos dentro do namespace foram removidos, delete o namespace:

```bash theme={null}
kubectl delete namespace midaz
```

<Note>
  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.
</Note>

Verifique se o namespace foi removido:

```bash theme={null}
kubectl get namespace midaz
```

***

## Limpeza completa

***

Para ambientes de staging, avaliação ou CI onde uma remoção total é segura, o seguinte script automatiza todo o processo:

<Danger>
  **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.
</Danger>

```bash expandable theme={null}
#!/bin/bash
set -e

NAMESPACE=midaz
RELEASE=midaz

echo "==> Desinstalando release do Helm: $RELEASE"
helm uninstall "$RELEASE" -n "$NAMESPACE" || true

echo "==> Deletando todos os PersistentVolumeClaims"
kubectl delete pvc --all -n "$NAMESPACE" || true

echo "==> Deletando todos os Secrets"
kubectl delete secrets --all -n "$NAMESPACE" || true

echo "==> Deletando todos os ConfigMaps"
kubectl delete configmaps --all -n "$NAMESPACE" || true

echo "==> Deletando namespace: $NAMESPACE"
kubectl delete namespace "$NAMESPACE" || true

echo "==> 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`.

***

## Considerações para produção

***

<Warning>
  Em produção, uma desinstalação completa requer coordenação cuidadosa. Siga estes passos antes de executar qualquer comando de limpeza:

  1. **Faça backup de todos os bancos de dados.** Exporte um snapshot completo do PostgreSQL e MongoDB antes de tocar em qualquer recurso.
  2. **Exporte dados críticos.** Se algum dado precisa ser migrado ou preservado, exporte-o antes de desinstalar.
  3. **Coordene com sua equipe.** Notifique todos os envolvidos sobre o tempo de inatividade planejado e confirme a janela de manutenção.
  4. **Desinstale os plugins primeiro.** Remova os releases de plugins (CRM, Fees, Pix) antes de desinstalar o release principal do Midaz.
  5. **Verifique ausência de tráfego.** Confirme que nenhum tráfego ativo está chegando aos serviços antes de prosseguir.
</Warning>

Desinstale os plugins antes do release principal:

```bash theme={null}
helm uninstall plugin-crm -n midaz || true
helm uninstall plugin-fees -n midaz || true
helm uninstall midaz -n midaz
```

Em seguida, prossiga com os passos de limpeza de recursos persistentes descritos acima.

***

## Recursos relacionados

* [Implantar o Midaz com Helm](/pt/platform/helm/midaz/midaz-installation) — Guia de instalação para reinstalar se necessário
* [Atualizar o Midaz e plugins via Helm](/pt/platform/helm/midaz/midaz-upgrade-guide) — Procedimentos de atualização e rollback
* [Solução de problemas](/pt/platform/helm/midaz/midaz-troubleshooting) — Diagnosticar problemas antes de decidir desinstalar
* [Compatibilidade de versões](/pt/platform/helm/helm-version-compatibility) — Tabela de referência de versões
