Skip to main content
As orientações de CRM e Fees marcadas como legado nesta página valem apenas para releases legados que já existem. O Midaz v4 faz deploy do Ledger unificado e serve CRM e Fees em /v2.
O repositório Helm mantém uma carga de trabalho crm.enabled e o chart plugin-fees-helm para releases de aplicação mais antigos. Essas são superfícies de compatibilidade legadas, não o modelo de deploy do Midaz v4. Este guia mostra como remover por completo um deploy do Midaz no Kubernetes. O helm uninstall remove os recursos gerenciados pelo Helm. O que acontece com os volumes de banco de dados depende dos subcharts empacotados, então leia as configurações de armazenamento deles antes de rodar o comando.
Desinstalar o Midaz pode excluir permanentemente dados da aplicação. Faça backup antes de rodar, não depois. Esta operação é irreversível.

O que a desinstalação exclui e o que permanece


Nenhum recurso do chart tem a annotation helm.sh/resource-policy: keep. Não conte com o Helm para proteger nenhum volume.

Pré-requisitos


Antes de desinstalar, liste os claims para saber o que existe:
Depois, faça backup dos seus bancos de dados:
Depois, faça backup dos seus values atuais do Helm para reinstalar com a mesma configuração se precisar:
Faça backup também de qualquer release de plugin que você roda separadamente (os plugins instalam no próprio namespace, midaz-plugins):
O CRM é um módulo dentro do chart midaz-helm. Você o habilita com o bloco de values crm. Não existe chart de CRM. Você não faz backup dele nem o desinstala separadamente.
Verifique todos os releases que a desinstalação afeta:

Desinstalar o release Helm


Rode o comando a seguir para desinstalar o release Helm do Midaz:
Isso remove os recursos do Kubernetes que o Helm chart criou: Deployments, StatefulSets, Services, Ingresses, ConfigMaps, Secrets gerenciados pelo chart, ServiceAccounts, recursos de RBAC e Jobs de bootstrap. Não remove os Secrets que você criou fora do Helm nem o namespace. Verifique que não restam pods gerenciados pelo Helm:

Limpar os recursos persistentes


PersistentVolumeClaims

Liste os claims que sobreviveram à desinstalação:
Exclua apenas os PVCs do Midaz que você identificou acima. Não exclua tudo do namespace de uma vez quando outras cargas de trabalho compartilham o namespace:
Excluir esses PVCs destrói permanentemente os dados do volume, o sistema de registro do ledger. Confirme que os backups do banco de dados existem antes de rodar este comando.

Secrets

O helm uninstall não remove secrets criados fora do ciclo de vida do release Helm (por exemplo, kubectl create secret). Liste todos os secrets do namespace e identifique os que você não precisa mais:
Exclua secrets órfãos individualmente:
Ou exclua todos os secrets do namespace:

ConfigMaps

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

Limpeza do namespace


Quando nenhum recurso restar dentro do namespace, exclua o próprio namespace:
Excluir o namespace remove à força qualquer recurso que ainda esteja dentro dele. Se um recurso ficar travado no estado Terminating, você pode precisar remover os finalizers dele manualmente.
Verifique que o namespace sumiu:

Limpeza completa


Para ambientes de staging, avaliação ou CI onde a remoção total é segura, o script a seguir automatiza o processo inteiro:
A perda de dados é permanente. Rode isto apenas em ambientes onde você confirmou os backups ou onde a perda de dados é aceitável (staging, avaliação, CI). Não rode isto em produção sem um backup completo e a aprovação do time. O script supõe um namespace que contém apenas o Midaz. Ele remove cada claim, Secret e ConfigMap desse namespace.
Salve isto como midaz-cleanup.sh, torne-o executável (chmod +x midaz-cleanup.sh) e rode com ./midaz-cleanup.sh.

Considerações de produção


Em produção, uma desinstalação completa exige coordenação cuidadosa. Siga estas etapas antes de rodar qualquer comando de limpeza:
  1. Faça backup de todos os bancos de dados antes do helm uninstall. Exporte um snapshot completo do PostgreSQL e do MongoDB.
  2. Exporte os dados críticos. Se você deve migrar ou preservar algum dado, exporte antes de desinstalar.
  3. Combine com o seu time. Avise todos os stakeholders sobre o downtime planejado e confirme a janela de manutenção.
  4. Desinstale os plugins primeiro. Remova os releases de plugin (Fees, Pix) antes de desinstalar o release principal do Midaz.
  5. Verifique que não há tráfego. Confirme que nenhum tráfego ativo chega aos serviços antes de prosseguir.
Desinstale os plugins antes do release principal:
Depois, siga as etapas de limpeza de recursos persistentes descritas acima.

Recursos relacionados