Skip to main content
Esta migración del chart de v4.x → v5.x es histórica. Consérvala para releases legacy existentes. No es orientación de despliegue para Midaz v4.

Lista de verificación previa a la actualización


1
Respalda los Helm releases existentes:
2
Se requiere una decisión: elige tu estrategia de despliegue (servicio de Ledger o los Onboarding/Transaction legacy).
3
Si migras al servicio de Ledger, prepara secrets nuevos con prefijos específicos de cada módulo.
4
Programa una ventana de mantenimiento.

Cambios incompatibles en v5.x


Servicio de Ledger nuevo disponible

A partir de la versión 5.0, el servicio de Ledger está disponible (ledger.enabled: false de forma predeterminada). Cuando está habilitado, este servicio combina la funcionalidad de los módulos onboarding y transaction en un solo deployment.
Los servicios separados onboarding y transaction pasarán a ser legacy en un release futuro. El servicio de Ledger unificado pasará a ser obligatorio. Recomendamos planificar tu migración al servicio de Ledger.
Valores predeterminados: Impacto al habilitar Ledger:
  • El chart elimina los deployments midaz-onboarding y midaz-transaction.
  • El chart crea un deployment midaz-ledger nuevo.
  • Los ingresses redirigen automáticamente al servicio de Ledger (se mantiene la compatibilidad de DNS).
  • La estructura de las variables de entorno y los secrets cambia (prefijos específicos de cada módulo).

Cambio de versión de la aplicación

Los parches posteriores de v5.x suben la versión de la aplicación. Revisa el Chart.yaml de la versión exacta del chart que tomas como objetivo.
Consulta el changelog de la aplicación para ver la lista completa de cambios.

Opciones de migración


Opción 1: seguir usando Onboarding y Transaction (migración gradual)

Agrega lo siguiente a tu override de values para mantener el comportamiento actual:
Esto permite actualizar la versión del chart sin cambiar tu infraestructura.

Opción 2: ejecutar todos los servicios simultáneamente (período de pruebas/migración)

Usa el flag oculto migration.allowAllServices para ejecutar los tres servicios durante la migración:
Usa este modo solo para pruebas y migración. No lo uses en producción a largo plazo.

Opción 3: migrar a Ledger (recomendado)

Acepta la arquitectura nueva y migra al servicio de Ledger unificado:
1
Antes de actualizar: confirma que tus bases de datos están listas (las mismas bases de datos, nombres de variables de entorno nuevos).
2
Actualiza los secrets: crea secrets nuevos con prefijos específicos de cada módulo (consulta Referencia de configuración).
3
Actualiza: ejecuta helm upgrade con la versión nueva del chart.
4
Verifica: revisa que el servicio de Ledger está sano y que los ingresses funcionan.

Funcionalidades nuevas en v5.x


Servicio de Ledger unificado

Un servicio de Ledger nuevo que combina los módulos onboarding y transaction en un solo deployment. Características principales:
  • Un solo endpoint HTTP (puerto 3000 de forma predeterminada)
  • Configuraciones de base de datos separadas para cada módulo
  • Conexiones compartidas de Redis y RabbitMQ
  • Un Balance Sync Worker nuevo para el procesamiento en segundo plano
Variables de entorno nuevas:
BALANCE_SYNC_WORKER_ENABLED y BALANCE_SYNC_MAX_WORKERS siguen siendo los nombres actuales. No los elimines. Las versiones posteriores del chart agregan tres claves más: BALANCE_SYNC_BATCH_SIZE (predeterminado 50), BALANCE_SYNC_FLUSH_TIMEOUT_MS (predeterminado 500) y BALANCE_SYNC_POLL_INTERVAL_MS (predeterminado 50).

Redirección del ingress hacia Ledger

Cuando habilitas Ledger, los ingresses existentes redirigen el tráfico automáticamente al servicio de Ledger y mantienen la compatibilidad de DNS.

Integración del servicio de CRM

El chart despliega CRM en el namespace midaz, no en midaz-plugins.
Para más detalles, consulta la documentación de CRM.
Migración desde un release independiente de CRM:
1
Despliega el CRM nuevo en el namespace midaz:
2
Migra tus datos del MongoDB antiguo al nuevo (si usas bases de datos separadas).
3
Actualiza tu ingress/DNS para que apunte al servicio de CRM nuevo.
4
Elimina el release antiguo de CRM de midaz-plugins.

Comando de actualización


Procedimiento de rollback


Problemas comunes


El servicio de Ledger no arranca
  • Verifica que configuras todas las variables de entorno y los secrets específicos de cada módulo con los prefijos nuevos (DB_ONBOARDING_*, DB_TRANSACTION_*, etc.).
El ingress no enruta hacia Ledger
  • Define ledger.enabled: true. No definas migration.allowAllServices como true.
Faltan secrets después de habilitar Ledger
  • Crea secrets nuevos con prefijos de módulo:
    • DB_ONBOARDING_PASSWORD en lugar de DB_PASSWORD
    • DB_TRANSACTION_PASSWORD en lugar de DB_PASSWORD
    • MONGO_ONBOARDING_PASSWORD en lugar de MONGO_PASSWORD
    • MONGO_TRANSACTION_PASSWORD en lugar de MONGO_PASSWORD