Dedicated migration-runner images (
midaz-ledger-migrations, midaz-tracer-migrations) apply the schema migrations. The apps do not migrate at startup. The official Helm chart runs these images for you. See Database migrations for details.Updating a deployment
To install, upgrade, or uninstall a Midaz deployment, see the Midaz chart README. It carries the procedure and the upgrade notes of each chart version. Before you upgrade, check these product rules:
- With
DEPLOYMENT_MODE=saasorMULTI_TENANT_ENABLED=true, the Ledger does not start without authentication. See Security. - Keep
LCRYPTO_HASH_SECRET_KEYandLCRYPTO_ENCRYPT_SECRET_KEYunchanged. Midaz cannot read the holder and instrument data that it encrypted with previous values. - Upgrade Midaz before its plugins. See Midaz and plugin compatibility.
- To upgrade to v4.2.0 or later, upgrade Tracer before the Ledger. While a Ledger on v4.2.0 or later runs, do not roll Tracer back to a version earlier than v4.2.0. While a Ledger on v4.3.0 runs, do not roll Tracer back to a version earlier than v4.3.0.
- From v4.2.0, the Ledger reaches Tracer over gRPC only. When
TRACER_BASE_URLis set, the Ledger does not start withTRACER_TRANSPORT=rest. If you setTRACER_TRANSPORT=rest, removeTRACER_TRANSPORTbefore you upgrade. Then setTRACER_BASE_URLto the Tracer gRPC address (TRACER_GRPC_PORT,:4021by default). See Midaz environment variables. - Run v4.2.0 or later on every Ledger instance before you set
deferrableon a fee. After you set it, do not roll the Ledger back to an earlier version. See Fee debt. - From v4.3.0, the Ledger publishes transaction audit messages only when
AUDIT_LOG_ENABLED=true. See Auditability. - From v4.3.0,
/readyzchecks RabbitMQ through its management API atRABBITMQ_HEALTH_CHECK_URL, with theRABBITMQ_DEFAULT_USERcredentials. A failed check makes/readyzanswer503. Give that user access to the management API, or leaveRABBITMQ_HEALTH_CHECK_URLempty to skip the check. - Upgrade every Ledger instance to v4.3.0 before clients send
schemeon a transaction or linkoptionalOperationRouteson an accounting route. An earlier Ledger refusesschemeand treats every linked operation route as required.

