> ## 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.

# Checklist de upgrade do Midaz via Helm

> Siga as boas práticas recomendadas e as etapas de verificação antes, durante e depois de um upgrade do Midaz via Helm para ter rollouts de produção seguros e previsíveis.

<Warning>
  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 o deploy do Ledger unificado e serve CRM e Fees em `/v2`.
</Warning>

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 com o legado, não o modelo de deploy do Midaz v4.

## Recomendação para produção

***

Não recomendamos usar as dependências padrão do chart Helm do Midaz (bancos de dados, cache e message broker) em ambientes de produção. Para deploys de nível de produção, siga nossas [boas práticas](/pt/products/midaz/midaz-production-best-practices) para operar essas dependências com a segurança, a observabilidade, os backups, a recuperação de desastres e os SLOs adequados.

## Boas práticas

***

### Ordem do upgrade

Faça sempre o upgrade nesta ordem:

1. Infraestrutura (se necessário)
2. Midaz Core
3. Plugins (um de cada vez)

### Teste primeiro

Teste sempre os upgrades em um ambiente de staging que espelha produção antes de aplicar em produção.

### Monitore de perto

Monitore os logs e as métricas de perto nos primeiros 15 a 30 minutos após um upgrade.

### Mantenha backups

Mantenha backups dos seus values do Helm e do banco de dados antes de upgrades de versão maior.

## Resumo do checklist de upgrade

***

| Etapa                         | Comando                                                                                            | Verificado |
| :---------------------------- | :------------------------------------------------------------------------------------------------- | :--------: |
| Backup dos bancos de dados    | Tire um snapshot do PostgreSQL e do MongoDB. `helm rollback` não pode desfazer migrações de schema |            |
| Backup dos values             | `helm get values <release> -n midaz > backup.yaml`                                                 |            |
| Confira os metadados do chart | Revise os [metadados atuais do chart do Midaz](/pt/platform/deploy/helm-version-compatibility)     |            |
| Faça o upgrade do Midaz       | `helm upgrade midaz ...`                                                                           |            |
| Verifique os pods do Midaz    | `kubectl get pods -n midaz`                                                                        |            |
| Faça o upgrade dos plugins    | `helm upgrade <plugin> ...`                                                                        |            |
| Verifique os pods dos plugins | `kubectl get pods -n midaz`                                                                        |            |
| Confira os logs               | `kubectl logs -n midaz deployment/<name>`                                                          |            |

## Verificação pós-upgrade

***

### 1. Confira o status dos pods

<CodeGroup>
  ```bash Shell theme={null}
  kubectl get pods -n midaz
  ```
</CodeGroup>

Recomenda-se que todos os pods estejam `Running` e `READY`.

### 2. Verifique os serviços

<CodeGroup>
  ```bash Shell theme={null}
  kubectl get svc -n midaz
  ```
</CodeGroup>

### 3. Confira os logs

<CodeGroup>
  ```bash Shell theme={null}
  # The ledger service (the only application Deployment by default)
  kubectl logs -n midaz deployment/midaz-ledger

  # RabbitMQ
  kubectl logs -n midaz statefulset/midaz-rabbitmq

  # CRM workload: run only when crm.enabled is true
  kubectl logs -n midaz deployment/midaz-crm
  ```
</CodeGroup>

<Note>
  Em charts anteriores à v7.0.0 você também tinha os Deployments `midaz-onboarding` e `midaz-transaction`. Esses serviços foram removidos na v7.0.0. Em qualquer chart atual, esses nomes retornam `NotFound`.
</Note>

### 4. Verifique o roteamento do ingress

<CodeGroup>
  ```bash Shell theme={null}
  kubectl get ingress -n midaz
  kubectl describe ingress midaz-ledger -n midaz
  ```
</CodeGroup>
