Las imágenes dedicadas de migration-runner (
midaz-ledger-migrations, midaz-tracer-migrations) aplican las migraciones de esquema. Las aplicaciones no migran al iniciar. El chart oficial de Helm ejecuta estas imágenes por ti. Consulta Migraciones de base de datos para más detalles.Actualización de un despliegue
Para instalar, actualizar o desinstalar un despliegue de Midaz, consulta el README del chart de Midaz. Contiene el procedimiento y las notas de actualización de cada versión del chart. Para pasar una integración de los contratos de la API v1 a los contratos v2, consulta Migra de la API v1 a la API v2. Antes de actualizar, revisa estas reglas del producto:
- Con
DEPLOYMENT_MODE=saasoMULTI_TENANT_ENABLED=true, el Ledger no arranca sin autenticación. Consulta Seguridad. - Mantén sin cambios
LCRYPTO_HASH_SECRET_KEYyLCRYPTO_ENCRYPT_SECRET_KEY. Midaz no puede leer los datos de holders e instrumentos que cifró con los valores anteriores. - Actualiza Midaz antes de sus plugins. Consulta Compatibilidad de Midaz y plugins.
- Para actualizar a v4.2.0 o posterior, actualiza Tracer antes del Ledger. Mientras un Ledger en v4.2.0 o posterior esté en ejecución, no hagas rollback de Tracer a una versión anterior a v4.2.0. Mientras un Ledger en v4.3.0 o posterior esté en ejecución, no hagas rollback de Tracer a una versión anterior a v4.3.0.
- A partir de v4.2.0, el Ledger se comunica con Tracer solo por gRPC. Cuando
TRACER_BASE_URLestá definida, el Ledger no arranca conTRACER_TRANSPORT=rest. Si definisteTRACER_TRANSPORT=rest, eliminaTRACER_TRANSPORTantes de actualizar. Después, defineTRACER_BASE_URLcon la dirección gRPC de Tracer (TRACER_GRPC_PORT,:4021de forma predeterminada). Consulta Variables de entorno de Midaz. - Ejecuta v4.2.0 o posterior en todas las instancias del Ledger antes de definir
deferrableen una comisión. Después de definirlo, no hagas rollback del Ledger a una versión anterior. Consulta Deuda de comisión. - A partir de v4.3.0, el Ledger publica mensajes de auditoría de transacciones solo cuando
AUDIT_LOG_ENABLED=true. Consulta Auditabilidad. - A partir de v4.3.0,
/readyzverifica RabbitMQ a través de su API de administración enRABBITMQ_HEALTH_CHECK_URL, con las credenciales deRABBITMQ_DEFAULT_USER. Una verificación fallida hace que/readyzresponda503. Dale a ese usuario acceso a la API de administración. - Actualiza todas las instancias del Ledger a v4.3.0 antes de que los clientes envíen
schemeen una transacción o vinculenoptionalOperationRoutesen una ruta contable. Un Ledger anterior rechazaschemey trata toda ruta de operación vinculada como obligatoria. - Actualiza un Ledger de v4.2.x a v4.3.0 con un cutover drenado, nunca con rolling update: corta el tráfico al Ledger, deja que las instancias v4.2.x terminen su trabajo en cola y de recuperación, detén todas las instancias v4.2.x y solo entonces inicia v4.3.0. Una instancia v4.2.x sigue tomando trabajo de recuperación incluso sin tráfico y rechaza el trabajo que v4.3.0 registra, así que ninguna puede ejecutarse junto a v4.3.0. El Ledger rechaza escrituras durante el cutover. Las notas de actualización de la versión 9.8.0 del chart traen los pasos.
- Después de que un Ledger ejecute v4.3.0, no hagas rollback a v4.2.x, ni siquiera después de drenar. Un Ledger v4.2.x puede aplicar el dinero de una transacción de v4.3.0 y dejar su registro y su metadata incompletos.
- A partir de v4.4.0, el Ledger y Tracer no arrancan cuando una variable de entorno tiene un valor que no pueden leer. El error nombra la variable. Un booleano acepta solo
trueofalse, un número debe ser entero y una duración necesita una unidad, como12s. Revisa tus valores antes de actualizar. Consulta Variables de entorno de Midaz. - La migración de onboarding de v4.4.0 se detiene si un ledger tiene dos cuentas con el mismo alias o dos activos con el mismo código. Las cuentas y los activos eliminados no cuentan. La migración lista los duplicados, y Midaz no los fusiona ni los elimina. Si la migración se detiene, contacta a Lerian antes de ejecutar de nuevo la actualización. Mientras la migración se ejecuta, las escrituras de cuentas y de activos esperan.
- Actualiza todas las instancias del Ledger a v4.4.0 antes de asignar un plan de tarifas. Un Ledger anterior no lee planes de tarifas.

