Pre-upgrade checklist
1
Backup existing Helm releases:
2
Decision required: Choose your deployment strategy (Ledger service or legacy Onboarding/Transaction).
3
If migrating to Ledger service, prepare new secrets with module-specific prefixes.
4
Schedule a maintenance window.
Breaking changes in v5.x
New Ledger service available
Starting from version 5.0, the Ledger service is available (ledger.enabled: false by default). When enabled, this service combines the functionality of both onboarding and transaction modules into a single deployment.
Default values:
Impact when enabling Ledger:
- The chart removes the
midaz-onboardingandmidaz-transactiondeployments. - The chart creates a new
midaz-ledgerdeployment. - Ingresses will automatically redirect to the Ledger service (DNS compatibility maintained).
- Environment variables and secrets structure changes (module-specific prefixes).
App version bump
Later v5.x patches raise the app version. Check theChart.yaml of the exact chart version you target.
Check the app changelog for the complete list of changes.
Migration options
Option 1: keep using Onboarding and Transaction (gradual migration)
Add the following to your values override to maintain the current behavior:Option 2: run all services simultaneously (testing/migration period)
Use the hiddenmigration.allowAllServices flag to run all three services during the migration:
Option 3: migrate to Ledger (recommended)
Accept the new architecture and migrate to the unified Ledger service:1
Before upgrading: Ensure your databases are ready (same databases, new environment variable names).
2
Update secrets: Create new secrets with module-specific prefixes (see Configuration reference).
3
Upgrade: Run helm upgrade with the new chart version.
4
Verify: Check that the Ledger service is healthy and the ingresses work.
New features in v5.x
Unified Ledger service
A new Ledger service that combinesonboarding and transaction modules into a single deployment.
Key characteristics:
- Single HTTP endpoint (port 3000 by default)
- Separate database configurations for each module
- Shared Redis and RabbitMQ connections
- New Balance Sync Worker for background processing
BALANCE_SYNC_WORKER_ENABLED and BALANCE_SYNC_MAX_WORKERS are still the current names. Do not remove them. Later chart versions add three more keys: BALANCE_SYNC_BATCH_SIZE (default 50), BALANCE_SYNC_FLUSH_TIMEOUT_MS (default 500), and BALANCE_SYNC_POLL_INTERVAL_MS (default 50).Ingress redirection to Ledger
When you enable Ledger, existing ingresses automatically redirect traffic to the Ledger service and maintain DNS compatibility.CRM service integration
The chart deploys CRM in themidaz namespace, not in midaz-plugins.
Migration from a standalone CRM release:
1
Deploy the new CRM in the midaz namespace:
2
Migrate your data from the old MongoDB to the new one (if using separate databases).
3
Update your ingress/DNS to point to the new CRM service.
4
Remove the old CRM release from
midaz-plugins.Upgrade command
Rollback procedure
Common issues
Ledger service fails to start
- 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

