Migrando de v4.x a v5.x
Lista de verificación previa a la actualización
Decisión requerida: Elige tu estrategia de despliegue (servicio Ledger o Onboarding/Transaction legacy).
Cambios importantes en v5.x
Nuevo servicio Ledger disponible
A partir de la versión 5.0, el servicio Ledger está disponible (ledger.enabled: false por defecto). Cuando está habilitado, este servicio combina la funcionalidad de los módulos onboarding y transaction en un solo despliegue.
Valores predeterminados:
| Configuración | v4.x (antes) | v5.x (después) |
|---|---|---|
| ledger.enabled | N/A | false |
| onboarding.enabled | true | true (auto-deshabilitado cuando Ledger está habilitado) |
| transaction.enabled | true | true (auto-deshabilitado cuando Ledger está habilitado) |
- Los despliegues
midaz-onboardingymidaz-transactionserán eliminados. - Se creará un nuevo despliegue
midaz-ledger. - Los ingresses redirigirán automáticamente al servicio Ledger (compatibilidad DNS mantenida).
- Cambios en la estructura de variables de entorno y secretos (prefijos específicos por módulo).
Actualización de versión de la aplicación
Midaz ha sido actualizado a v3.5.3.Consulta el changelog de la aplicación para la lista completa de cambios.
Opciones de migración
Opción 1: mantener Onboarding y Transaction (migración gradual)
Agrega lo siguiente a tu override de values para mantener el comportamiento actual:Opción 2: ejecutar todos los servicios simultáneamente (pruebas/período de migración)
Usa el flag ocultomigration.allowAllServices para ejecutar los tres servicios durante la migración:
Opción 3: migrar a Ledger (recomendado)
Acepta la nueva arquitectura y migra al servicio unificado Ledger:Antes de actualizar: Asegúrate de que tus bases de datos estén listas (mismas bases de datos, nuevos nombres de variables de entorno).
Actualiza secretos: Crea nuevos secretos con prefijos específicos por módulo (ver Referencia de configuración).
Nuevas características en v5.x
Servicio Ledger unificado
Un nuevo servicio Ledger que combina los módulosonboarding y transaction en un solo despliegue.
Características clave:
- Endpoint HTTP único (puerto 3000 por defecto)
- Configuraciones de base de datos separadas para cada módulo
- Conexiones compartidas de Redis y RabbitMQ
- Nuevo Balance Sync Worker para procesamiento en segundo plano
Estas variables de entorno han sido renombradas en versiones posteriores. Los nombres actuales de las variables son:
BALANCE_SYNC_BATCH_SIZE, BALANCE_SYNC_FLUSH_TIMEOUT_MS y BALANCE_SYNC_POLL_INTERVAL_MS. Consulta la Referencia de Configuración para los valores predeterminados actuales.Redirección de Ingress a Ledger
Cuando Ledger está habilitado, los ingresses existentes redirigen automáticamente el tráfico al servicio Ledger, manteniendo compatibilidad DNS.| ledger.enabled | migration.allowAllServices | destino ingress onboarding | destino ingress transaction |
|---|---|---|---|
| false | false (por defecto) | midaz-onboarding | midaz-transaction |
| true | false (por defecto) | midaz-ledger | midaz-ledger |
| true | true | midaz-onboarding | midaz-transaction |
Integración del servicio CRM
El servicio CRM ahora está disponible como componente integrado, moviéndose demidaz-plugins al namespace midaz.
Migración desde plugin-crm:
Comando de actualización
Procedimiento de reversión
Problemas comunes
El servicio Ledger falla al iniciar- Verifica que todas las variables de entorno y secretos específicos por módulo estén configurados con los nuevos prefijos (
DB_ONBOARDING_*,DB_TRANSACTION_*, etc.).
- Asegúrate de que
ledger.enabled: trueymigration.allowAllServicesno esté configurado comotrue.
- Crea nuevos secretos con prefijos por módulo:
DB_ONBOARDING_PASSWORDen lugar deDB_PASSWORDDB_TRANSACTION_PASSWORDen lugar deDB_PASSWORDMONGO_ONBOARDING_PASSWORDen lugar deMONGO_PASSWORDMONGO_TRANSACTION_PASSWORDen lugar deMONGO_PASSWORD

