Pular para o conteúdo principal
Manter o Midaz atualizado significa trabalhar com os recursos, patches de segurança e melhorias mais recentes. Atualizações regulares também mantêm o Midaz compatível com outros componentes e ajudam a evitar problemas causados por dependências desatualizadas.
Imagens dedicadas de migration-runner (midaz-ledger-migrations, midaz-tracer-migrations) aplicam as migrações de schema. As aplicações não migram na inicialização. O chart Helm oficial executa essas imagens para você. Veja Migrações de banco de dados para detalhes.

Atualizando um deploy


Para instalar, atualizar ou desinstalar um deploy do Midaz, consulte o README do chart do Midaz. Ele traz o procedimento e as notas de upgrade de cada versão do chart. Para passar uma integração dos contratos da API v1 para os contratos v2, consulte Migrar da API v1 para a API v2. Antes de atualizar, confira estas regras do produto:
  • Com DEPLOYMENT_MODE=saas ou MULTI_TENANT_ENABLED=true, o Ledger não inicia sem autenticação. Consulte Segurança.
  • Mantenha LCRYPTO_HASH_SECRET_KEY e LCRYPTO_ENCRYPT_SECRET_KEY inalteradas. O Midaz não consegue ler os dados de holders e instrumentos que criptografou com os valores anteriores.
  • Atualize o Midaz antes dos plugins. Consulte Compatibilidade do Midaz e dos plugins.
  • Para atualizar para a v4.2.0 ou superior, atualize o Tracer antes do Ledger. Enquanto um Ledger na v4.2.0 ou superior estiver em execução, não faça rollback do Tracer para uma versão anterior à v4.2.0. Enquanto um Ledger na v4.3.0 ou superior estiver em execução, não faça rollback do Tracer para uma versão anterior à v4.3.0.
  • A partir da v4.2.0, o Ledger acessa o Tracer apenas por gRPC. Quando TRACER_BASE_URL está definida, o Ledger não inicia com TRACER_TRANSPORT=rest. Se você definiu TRACER_TRANSPORT=rest, remova TRACER_TRANSPORT antes de atualizar. Depois, defina TRACER_BASE_URL com o endereço gRPC do Tracer (TRACER_GRPC_PORT, :4021 por padrão). Consulte Variáveis de ambiente do Midaz.
  • Rode a v4.2.0 ou superior em todas as instâncias do Ledger antes de definir deferrable em uma tarifa. Depois de defini-lo, não faça rollback do Ledger para uma versão anterior. Consulte Dívida de tarifa.
  • A partir da v4.3.0, o Ledger publica mensagens de auditoria de transações apenas quando AUDIT_LOG_ENABLED=true. Consulte Auditabilidade.
  • A partir da v4.3.0, o /readyz verifica o RabbitMQ pela API de gerenciamento em RABBITMQ_HEALTH_CHECK_URL, com as credenciais de RABBITMQ_DEFAULT_USER. Uma verificação com falha faz o /readyz responder 503. Dê a esse usuário acesso à API de gerenciamento.
  • Atualize todas as instâncias do Ledger para a v4.3.0 antes que os clientes enviem scheme em uma transação ou vinculem optionalOperationRoutes em uma rota contábil. Um Ledger anterior recusa scheme e trata toda rota de operação vinculada como obrigatória.
  • Atualize um Ledger da v4.2.x para a v4.3.0 com um cutover drenado, nunca com rolling update: corte o tráfego do Ledger, deixe as instâncias v4.2.x terminarem o trabalho em fila e de recuperação, pare todas as instâncias v4.2.x e só então inicie a v4.3.0. Uma instância v4.2.x continua pegando trabalho de recuperação mesmo sem tráfego e recusa o trabalho que a v4.3.0 registra, então nenhuma pode rodar ao lado da v4.3.0. O Ledger recusa escritas durante o cutover. As notas de upgrade da versão 9.8.0 do chart trazem os passos.
  • Depois que um Ledger rodar a v4.3.0, não faça rollback dele para a v4.2.x, mesmo depois de drenar. Um Ledger v4.2.x pode aplicar o dinheiro de uma transação da v4.3.0 e deixar o registro e o metadata dela incompletos.
  • A partir da v4.4.0, o Ledger e o Tracer não iniciam quando uma variável de ambiente tem um valor que eles não conseguem ler. O erro nomeia a variável. Um booleano aceita apenas true ou false, um número precisa ser inteiro e uma duração precisa de uma unidade, como 12s. Confira os seus valores antes de atualizar. Consulte Variáveis de ambiente do Midaz.
  • A migração de onboarding da v4.4.0 é interrompida se um ledger tiver duas contas com o mesmo alias ou dois ativos com o mesmo código. Contas e ativos excluídos não contam. A migração lista os duplicados, e o Midaz não os mescla nem os exclui. Se a migração for interrompida, entre em contato com a Lerian antes de rodar a atualização de novo. Enquanto a migração roda, as escritas de contas e de ativos esperam.
  • Atualize todas as instâncias do Ledger para a v4.4.0 antes de atribuir um plano de tarifas. Um Ledger anterior não lê planos de tarifas.