Skip to main content
Esta migração de chart da v4.x → v5.x é histórica. Mantenha-a para releases legados existentes. Ela não é orientação de deploy do Midaz v4.

Checklist antes do upgrade


1
Faça backup dos releases Helm existentes:
2
Decisão obrigatória: escolha sua estratégia de deploy (serviço Ledger ou Onboarding/Transaction legados).
3
Se você migrar para o serviço Ledger, prepare novos secrets com prefixos específicos de módulo.
4
Agende uma janela de manutenção.

Mudanças incompatíveis na v5.x


Novo serviço Ledger disponível

A partir da versão 5.0, o serviço Ledger fica disponível (ledger.enabled: false por padrão). Quando habilitado, esse serviço combina a funcionalidade dos módulos onboarding e transaction em um único deployment.
Os serviços separados onboarding e transaction vão se tornar legados em um release futuro. O serviço Ledger unificado vai se tornar obrigatório. Recomendamos planejar sua migração para o serviço Ledger.
Valores padrão: Impacto ao habilitar o Ledger:
  • O chart remove os deployments midaz-onboarding e midaz-transaction.
  • O chart cria um novo deployment midaz-ledger.
  • Os ingresses redirecionam automaticamente para o serviço Ledger (a compatibilidade de DNS é mantida).
  • A estrutura de variáveis de ambiente e de secrets muda (prefixos específicos de módulo).

Aumento da versão da aplicação

Patches posteriores da v5.x aumentam a versão da aplicação. Verifique o Chart.yaml da versão exata do chart que você pretende usar.
Consulte o changelog da aplicação para a lista completa de mudanças.

Opções de migração


Opção 1: continuar usando Onboarding e Transaction (migração gradual)

Adicione o seguinte ao seu override de values para manter o comportamento atual:
Isso permite fazer upgrade da versão do chart sem mudar sua infraestrutura.

Opção 2: rodar todos os serviços ao mesmo tempo (período de teste/migração)

Use a flag oculta migration.allowAllServices para rodar os três serviços durante a migração:
Use este modo apenas para teste e migração. Não o use em produção por longo prazo.

Opção 3: migrar para o Ledger (recomendado)

Aceite a nova arquitetura e migre para o serviço Ledger unificado:
1
Antes do upgrade: garanta que seus bancos de dados estão prontos (mesmos bancos, novos nomes de variáveis de ambiente).
2
Atualize os secrets: crie novos secrets com prefixos específicos de módulo (consulte a Referência de configuração).
3
Upgrade: rode o helm upgrade com a nova versão do chart.
4
Verifique: confirme que o serviço Ledger está saudável e que os ingresses funcionam.

Novos recursos na v5.x


Serviço Ledger unificado

Um novo serviço Ledger que combina os módulos onboarding e transaction em um único deployment. Características principais:
  • Um único endpoint HTTP (porta 3000 por padrão)
  • Configurações de banco de dados separadas para cada módulo
  • Conexões de Redis e RabbitMQ compartilhadas
  • Novo Balance Sync Worker para processamento em segundo plano
Novas variáveis de ambiente:
BALANCE_SYNC_WORKER_ENABLED e BALANCE_SYNC_MAX_WORKERS continuam sendo os nomes atuais. Não os remova. Versões posteriores do chart adicionam mais três chaves: BALANCE_SYNC_BATCH_SIZE (padrão 50), BALANCE_SYNC_FLUSH_TIMEOUT_MS (padrão 500) e BALANCE_SYNC_POLL_INTERVAL_MS (padrão 50).

Redirecionamento de ingress para o Ledger

Quando você habilita o Ledger, os ingresses existentes redirecionam o tráfego automaticamente para o serviço Ledger e mantêm a compatibilidade de DNS.

Integração do serviço CRM

O chart faz deploy do CRM no namespace midaz, não em midaz-plugins.
Para mais detalhes, consulte a documentação do CRM.
Migração de um release de CRM independente:
1
Faça deploy do novo CRM no namespace midaz:
2
Migre seus dados do MongoDB antigo para o novo (se você usa bancos separados).
3
Atualize seu ingress/DNS para apontar para o novo serviço CRM.
4
Remova o release antigo de CRM de midaz-plugins.

Comando de upgrade


Procedimento de rollback


Problemas comuns


O serviço Ledger não inicia
  • Confirme que você configurou todas as variáveis de ambiente e secrets específicos de módulo com os novos prefixos (DB_ONBOARDING_*, DB_TRANSACTION_*, etc.).
Ingress não roteia para o Ledger
  • Defina ledger.enabled: true. Não defina migration.allowAllServices como true.
Secrets ausentes depois de habilitar o Ledger
  • Crie novos secrets com prefixos de módulo:
    • DB_ONBOARDING_PASSWORD em vez de DB_PASSWORD
    • DB_TRANSACTION_PASSWORD em vez de DB_PASSWORD
    • MONGO_ONBOARDING_PASSWORD em vez de MONGO_PASSWORD
    • MONGO_TRANSACTION_PASSWORD em vez de MONGO_PASSWORD