Migrando de v4.x a v5.x
Lista de verificación previa a la actualización
Respalda los releases de Helm existentes:helm get values -n midaz midaz > midaz-v4-backup.yaml
Decisión requerida: Elige tu estrategia de despliegue (servicio Ledger o Onboarding/Transaction legacy).
Si migras al servicio Ledger, prepara nuevos secretos con prefijos específicos por módulo.
Programa una ventana de mantenimiento.
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.Los servicios separados onboarding y transaction se convertirán en legacy en una futura versión. El servicio unificado Ledger será obligatorio. Recomendamos encarecidamente planificar tu migración al servicio Ledger.
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) |
Impacto al habilitar Ledger:
- Los despliegues
midaz-onboarding y midaz-transaction será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.1.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:ledger:
enabled: false
onboarding:
enabled: true
transaction:
enabled: true
Esto te permite actualizar la versión del chart sin cambiar tu infraestructura.Opción 2: Ejecutar todos los servicios simultáneamente (pruebas/período de migración)
Usa el flag oculto migration.allowAllServices para ejecutar los tres servicios durante la migración:ledger:
enabled: true
onboarding:
enabled: true
transaction:
enabled: true
migration:
allowAllServices: true
Este modo está destinado solo para pruebas y migración. No lo uses en producción a largo plazo.
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 de Ledger abajo).
Actualiza: Ejecuta helm upgrade con la nueva versión del chart.
Verifica: Comprueba que el servicio Ledger esté saludable y los ingresses funcionen.
ledger:
enabled: true
onboarding:
enabled: false
transaction:
enabled: false
Nuevas características en v5.x
Servicio Ledger unificado
Un nuevo servicio Ledger que combina los módulos onboarding 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
Nuevas variables de entorno:# Balance Sync Worker
BALANCE_SYNC_WORKER_ENABLED: "false"
BALANCE_SYNC_MAX_WORKERS: "5"
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 de midaz-plugins al namespace midaz.Migración desde plugin-crm:Despliega el nuevo CRM en el namespace midaz:crm:
enabled: true
configmap:
MONGO_HOST: "midaz-mongodb"
MONGO_NAME: "crm"
Migra tus datos del antiguo MongoDB al nuevo (si usas bases de datos separadas).
Actualiza tu ingress/DNS para apuntar al nuevo servicio CRM.
Elimina el antiguo release plugin-crm del namespace midaz-plugins.
Comando de actualización
helm upgrade midaz oci://registry-1.docker.io/lerianstudio/midaz-helm --version 5.x.x -n midaz
Procedimiento de reversión
# Listar historial de releases
helm history midaz -n midaz
# Revertir a la versión anterior
helm rollback midaz <REVISION> -n midaz
# O deshabilitar Ledger explícitamente
helm upgrade midaz oci://registry-1.docker.io/lerianstudio/midaz-helm \
--set ledger.enabled=false \
--set onboarding.enabled=true \
--set transaction.enabled=true \
-n midaz
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.).
Ingress no enruta a Ledger
- Asegúrate de que
ledger.enabled: true y migration.allowAllServices no esté configurado como true.
Secretos faltantes después de habilitar Ledger
- Crea nuevos secretos con prefijos por 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
Migrando de v3.x a v4.x
Lista de verificación previa a la actualización
Respalda los releases de Helm existentes:helm get values -n midaz midaz > midaz-v3-backup.yaml
Crítico: Respalda los datos y definiciones de RabbitMQ antes de actualizar.
Programa una ventana de mantenimiento.
Cambios importantes en v4.x
Cambio de dependencia de RabbitMQ a Groundhog2k
La dependencia del chart de RabbitMQ ha sido reemplazada de Bitnami a Groundhog2k.Este cambio puede provocar pérdida de datos de PersistentVolumeClaim (PVC) al actualizar instalaciones existentes porque el StatefulSet subyacente, montajes de volumen y configuración difieren de la dependencia anterior.
Notas importantes:
- El chart de Groundhog2k requiere una cookie de Erlang válida. Configura
rabbitmq.authentication.erlangCookie.value con una cadena imprimible de 32+ caracteres sin espacios. Si falta o está vacía, RabbitMQ fallará al iniciar.
- Si necesitas preservar datos existentes, respalda y planifica una migración controlada de PVCs y definiciones antes de actualizar.
Configuración requerida:rabbitmq:
authentication:
erlangCookie:
value: "<32+ caracteres imprimibles sin espacios>"
Este cambio importante solo afecta a despliegues que usan el RabbitMQ predeterminado del chart (rabbitmq.enabled: true). Si ejecutas un RabbitMQ externo o gestionado, no te afecta.
Actualización de versión de la aplicación
Midaz ha sido actualizado a v3.3.1.Nuevas características en v4.x
Imágenes BitnamiSecure para servicios de datos principales
Las imágenes predeterminadas para servicios de datos principales ahora usan los repositorios BitnamiSecure con la etiqueta latest:| Servicio | Fuente de imagen | Etiqueta |
|---|
| PostgreSQL | BitnamiSecure | latest |
| MongoDB | BitnamiSecure | latest |
| Valkey | BitnamiSecure | latest |
Si requieres fijar una versión específica, anula la etiqueta en values.yaml:postgresql:
image:
tag: "16.2.0"
mongodb:
image:
tag: "7.0.5"
valkey:
image:
tag: "7.2.4"
Imagen oficial NGINX para Microfrontends
La dependencia anterior de NGINX de Bitnami fue reemplazada con una plantilla interna basada en la imagen oficial nginx.Si previamente personalizaste la configuración de NGINX basada en Bitnami, revisa las nuevas plantillas en templates/console/ y ajusta tus valores en consecuencia.
Por qué cambiamos las dependencias de Bitnami
Nos alejamos de las dependencias de Bitnami debido a cambios de políticas que afectan la estabilidad y las operaciones. Para más contexto, consulta:Comando de actualización
helm upgrade midaz oci://registry-1.docker.io/lerianstudio/midaz-helm --version 4.0.0 -n midaz
Procedimiento de reversión
# Listar historial de releases
helm history midaz -n midaz
# Revertir a la versión anterior
helm rollback midaz <REVISION> -n midaz
Debido al cambio de dependencia de RabbitMQ, la reversión puede requerir intervención manual para restaurar PVCs y datos. Asegúrate de tener respaldos antes de actualizar.
Problemas comunes
RabbitMQ falla al iniciar
- Asegúrate de que la cookie de Erlang esté configurada correctamente (32+ caracteres imprimibles, sin espacios).
Pérdida de datos de PVC de RabbitMQ
- Esto es esperado debido al cambio de dependencia. Exporta las definiciones de RabbitMQ antes de actualizar y restáuralas después.
Problemas de configuración de NGINX
- Revisa las nuevas plantillas de NGINX en
templates/console/ y actualiza tus overrides.
Migrando de v3.x a v5.x (saltando v4.x)
Si estás actualizando directamente de v3.x a v5.x, necesitas abordar los cambios importantes de ambas versiones.Lista de verificación previa a la actualización
Respalda los releases de Helm existentes:helm get values -n midaz midaz > midaz-v3-backup.yaml
Crítico: Respalda los datos y definiciones de RabbitMQ (cambio importante de v4.x).
Decisión requerida: Elige tu estrategia de despliegue - servicio Ledger o Onboarding/Transaction legacy (cambio importante de v5.x).
Si migras al servicio Ledger, prepara nuevos secretos con prefijos específicos por módulo.
Programa una ventana de mantenimiento.
Cambios importantes a abordar
De v4.x: Cambio de dependencia de RabbitMQ
La dependencia del chart de RabbitMQ cambió de Bitnami a Groundhog2k. Esto puede provocar pérdida de datos de PVC. Respalda los datos de RabbitMQ antes de actualizar.
Configuración requerida:rabbitmq:
authentication:
erlangCookie:
value: "<32+ caracteres imprimibles sin espacios>"
De v5.x: Nuevo servicio Ledger
El servicio unificado Ledger está disponible y será obligatorio en una futura versión. Planifica tu estrategia de migración.
Elige una de estas configuraciones:Opción A: Mantener servicios legacy (migración gradual)ledger:
enabled: false
onboarding:
enabled: true
transaction:
enabled: true
rabbitmq:
authentication:
erlangCookie:
value: "<32+ caracteres imprimibles>"
Opción B: Migrar a Ledger (recomendado)ledger:
enabled: true
onboarding:
enabled: false
transaction:
enabled: false
rabbitmq:
authentication:
erlangCookie:
value: "<32+ caracteres imprimibles>"
Si usas la Opción B, crea nuevos secretos con prefijos específicos por módulo:
DB_ONBOARDING_PASSWORD, DB_TRANSACTION_PASSWORD
MONGO_ONBOARDING_PASSWORD, MONGO_TRANSACTION_PASSWORD
Comando de actualización
helm upgrade midaz oci://registry-1.docker.io/lerianstudio/midaz-helm --version 5.x.x -n midaz
Qué cambia desde v3.x
| Cambio | Versión origen | Impacto |
|---|
| RabbitMQ Groundhog2k | v4.x | Requiere cookie de Erlang, posible pérdida de datos de PVC |
| Imágenes BitnamiSecure | v4.x | PostgreSQL, MongoDB, Valkey usan imágenes endurecidas |
| NGINX oficial | v4.x | Revisa configuraciones personalizadas de NGINX |
| Servicio Ledger | v5.x | Nuevo servicio unificado (opcional pero recomendado) |
| Integración CRM | v5.x | Se mueve de midaz-plugins al namespace midaz |