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

# Rollback e solução de problemas

> Faça rollback de um upgrade Helm do Midaz com falha e resolva problemas pós-upgrade — pods em crash, erros de schema e integrações quebradas.

## Procedimentos de rollback

***

Se algo der errado após uma atualização, você pode fazer rollback para uma versão anterior.

### Quando fazer rollback

Considere fazer rollback se você observar:

* Pods falhando ao iniciar ou em crash-loop
* Erros de API ou indisponibilidade de serviços
* Inconsistências de dados
* Degradação de desempenho

### Verificar histórico de releases

Visualize o histórico de revisões de um release:

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

Exemplo de saída:

```
REVISION  STATUS      CHART           APP VERSION  DESCRIPTION
1         superseded  midaz-4.4.8     3.4.7        Install complete
2         deployed    midaz-5.7.0     3.5.3        Upgrade complete
```

### Executar rollback

Faça rollback para uma revisão específica:

* **Rollback do Midaz para revisão anterior**

```bash theme={null}
helm rollback midaz 1 -n midaz
```

* **Rollback de plugin (exemplo: CRM)**

```bash theme={null}
helm rollback plugin-crm 1 -n midaz
```

### Verificar rollback

* **Verificar versão do release**

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

* **Verificar pods**

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

* **Verificar logs**

<Tabs>
  <Tab title="Ledger (v5.x)">
    ```bash theme={null}
    kubectl logs -n midaz deployment/midaz-ledger --tail=50
    ```
  </Tab>

  <Tab title="Legacy (v4.x)">
    ```bash theme={null}
    kubectl logs -n midaz deployment/midaz-onboarding --tail=50
    ```
  </Tab>
</Tabs>

<Danger>
  Rollbacks podem não reverter mudanças no schema do banco de dados. Se a atualização incluiu migrações de banco de dados, pode ser necessário restaurar a partir de um backup do banco.
</Danger>

## Solução de problemas

***

### Pods presos no estado Pending

**Sintoma:** Pods permanecem no status `Pending` após a atualização.

**Solução:** Verifique restrições de recursos:

* **Descrever pod pendente**

```bash theme={null}
kubectl describe pod <pod-name> -n midaz
```

* **Verificar recursos dos nodes**

```bash theme={null}
kubectl top nodes
```

### Erros de pull de imagem

**Sintoma:** Pods mostram `ImagePullBackOff` ou `ErrImagePull`.

**Solução:** Verifique o acesso ao registro de imagens e credenciais:

* **Verificar eventos do pod**

```bash theme={null}
kubectl describe pod <pod-name> -n midaz | grep -A 10 Events
```

* **Verificar se a imagem existe**

```bash theme={null}
docker pull lerianstudio/midaz-ledger:3.5.3
```

### Erros de configuração

**Sintoma:** Pods falham com erros relacionados a configuração nos logs.

**Solução:** Compare seus valores com os padrões novos:

* **Visualizar valores atuais**

```bash theme={null}
helm get values midaz -n midaz
```

* **Visualizar padrões do chart**

```bash theme={null}
helm show values oci://registry-1.docker.io/lerianstudio/midaz-helm --version 5.7.0
```

### Problemas de conexão com banco de dados

**Sintoma:** Serviços falham ao conectar ao PostgreSQL ou MongoDB.

**Solução:** Verifique a conectividade e credenciais do banco de dados:

* **Verificar pods do banco de dados**

```bash theme={null}
kubectl get pods -n midaz -l app.kubernetes.io/name=postgresql
kubectl get pods -n midaz -l app.kubernetes.io/name=mongodb
```

* **Verificar logs do serviço**

<Tabs>
  <Tab title="Ledger (v5.x)">
    ```bash theme={null}
    kubectl logs -n midaz deployment/midaz-ledger | grep -i database
    ```
  </Tab>

  <Tab title="Legacy (v4.x)">
    ```bash theme={null}
    kubectl logs -n midaz deployment/midaz-onboarding | grep -i database
    ```
  </Tab>
</Tabs>

## Procedimento geral de rollback

***

Se encontrar problemas após qualquer atualização:

<CodeGroup>
  ```bash Shell theme={null}
  # Listar histórico de releases
  helm history midaz -n midaz

  # Rollback para versão anterior
  helm rollback midaz <REVISION> -n midaz

  # Verificar rollback
  helm list -n midaz
  kubectl get pods -n midaz
  ```
</CodeGroup>

## Recursos relacionados

***

* [Instalando o Midaz com Helm](/pt/platform/helm/midaz/midaz-installation) - Guia de instalação inicial
* [Compatibilidade de versões](/pt/platform/helm/helm-version-compatibility) - Referência de mapeamento de versões
* [Repositório Helm](https://github.com/LerianStudio/helm) - Código-fonte e notas de release
