This guide’s v3.x and v5.x labels refer to Helm chart releases, not Midaz application versions. The historical chart v5 line introduced the Ledger workload as an option. Midaz application v4 now uses the unified Ledger.
crm.enabled workload and the plugin-fees-helm chart for older application releases. These are legacy compatibility surfaces, not the Midaz v4 deployment model.
If you’re upgrading directly from v3.x to v5.x, you need to address breaking changes from both versions.
Pre-upgrade checklist
1
Backup existing Helm releases:
2
Critical: Backup RabbitMQ data and definitions (v4.x breaking change).
3
Decision required for this historical chart migration: Choose the Ledger workload or the legacy Onboarding/Transaction workloads.
4
If migrating to Ledger service, prepare new secrets with module-specific prefixes.
5
Schedule a maintenance window.
Breaking changes to address
From v4.x: RabbitMQ dependency change
The RabbitMQ chart dependency changed from Bitnami to Groundhog2k. This may lead to PVC data loss. Back up RabbitMQ data before upgrading.
Helm chart v5.x: Ledger workload introduced
Choose one of these configurations: Option A: Keep legacy services (gradual migration)DB_ONBOARDING_PASSWORD,DB_TRANSACTION_PASSWORDMONGO_ONBOARDING_PASSWORD,MONGO_TRANSACTION_PASSWORD
Upgrade command
What changes from v3.x
Common issues
RabbitMQ fails to start
- Make sure that you set the Erlang cookie correctly (32+ printable characters, no spaces).
- Expect this after the v4.x dependency change from Bitnami to Groundhog2k. Export RabbitMQ definitions before upgrading and restore after.
- Make sure that you configure all module-specific environment variables and secrets with the new prefixes (
DB_ONBOARDING_*,DB_TRANSACTION_*, etc.).
- Set
ledger.enabled: true. Do not setmigration.allowAllServicestotrue.
- Create new secrets with module prefixes:
DB_ONBOARDING_PASSWORDinstead ofDB_PASSWORDDB_TRANSACTION_PASSWORDinstead ofDB_PASSWORDMONGO_ONBOARDING_PASSWORDinstead ofMONGO_PASSWORDMONGO_TRANSACTION_PASSWORDinstead ofMONGO_PASSWORD
- Chart v7.0.0 removed the Console and NGINX components entirely.
templates/console/no longer exists. Drop anyconsole.*or NGINX overrides from your values file. They are inert, and the chart schema on newer versions rejects them.

