Prerequisites
Before starting any upgrade, ensure you have:
- Helm CLI v3.8+ installed (installation guide)
- kubectl configured with access to your cluster
- Cluster admin permissions or appropriate RBAC roles
- Access to the version compatibility table
Version compatibility between Helm charts and applications is defined by the official compatibility matrix maintained in the Helm repository README.This matrix is automatically updated on every application release and should always be checked before upgrading.
Verify your tools
Run the following commands to verify your tools:- Check Helm version
- Check kubectl access
Pre-upgrade checklist
1
Check current versions
Review your current deployment versions:
- List Helm releases
- Check running pods
2
Review target version compatibility
Check the version compatibility table to ensure your target version is compatible with your plugins and infrastructure.
3
Backup current values
Save your current Helm values for reference and potential rollback:
- Backup Midaz values
- Backup plugin values (example: CRM)
4
Review release notes
Check the Helm repository for release notes and breaking changes in your target version.
5
Schedule maintenance window
Coordinate with your team and schedule an appropriate maintenance window for the upgrade.
6
Ensure database backups
Ensure database backups are in place before upgrading, especially for major versions.
In specific cases, such as certain hotfix releases, a Helm chart upgrade may not be required.Always check the release notes before skipping a Helm upgrade.
Upgrading Midaz Core
1. Check available versions
List available chart versions from the OCI registry:- List available versions
- or check GitHub tags:
- Visit https://github.com/LerianStudio/helm/tags
- Filter by “midaz-v” prefix
2. Review changes (optional)
Compare your current values with the new chart’s default values:3. Run the upgrade
Upgrade to your target version:- Upgrade with existing values
- Upgrade with new values
4. Verify the upgrade
- Check release status
- Verify if the pods are running
- Check pod logs for errors
Running status and READY state.
Upgrading plugins
Always upgrade Midaz Core before upgrading plugins. Plugins depend on Midaz Core APIs.
CRM
- Upgrade CRM plugin
- Verify CRM pods
Fees Engine
- Upgrade Fees Engine plugin
- Verify Fees Engine pods
Pix
- Upgrade Pix plugin
- Verify Pix pods
Best practices
Upgrade order
Always upgrade in this order:- Infrastructure (if needed)
- Midaz Core
- Plugins (one at a time)
Test first
Always test upgrades in a staging environment that mirrors production before applying to production.Monitor closely
Monitor logs and metrics closely for the first 15-30 minutes after an upgrade.Keep backups
Maintain backups of your Helm values and database before major upgrades.Upgrade checklist summary
| Step | Command | Verified |
|---|---|---|
| Backup values | helm get values <release> -n midaz > backup.yaml | |
| Check compatibility | Review compatibility table | |
| Upgrade Midaz | helm upgrade midaz ... | |
| Verify Midaz pods | kubectl get pods -n midaz | |
| Upgrade plugins | helm upgrade <plugin> ... | |
| Verify plugin pods | kubectl get pods -n midaz | |
| Check logs | kubectl logs -n midaz deployment/<name> |
Rollback procedures
If something goes wrong after an upgrade, you can rollback to a previous version.
When to rollback
Consider rolling back if you observe:- Pods failing to start or crash-looping
- API errors or service unavailability
- Data inconsistencies
- Performance degradation
Check release history
View the revision history for a release:Execute rollback
Rollback to a specific revision:- Rollback Midaz to previous revision
- Rollback plugin (example: CRM)
Verify rollback
- Verify release version
- Verify pods
- Check logs
Rollbacks may not revert database schema changes. If the upgrade included database migrations, you may need to restore from a database backup.
Troubleshooting
Pods stuck in Pending state
Symptom: Pods remain inPending status after upgrade.
Solution: Check for resource constraints:
- Describe pending pod
- Check node resources
Image pull errors
Symptom: Pods showImagePullBackOff or ErrImagePull.
Solution: Verify image registry access and credentials:
- Check pod events
- Verify image exists
Configuration errors
Symptom: Pods crash with configuration-related errors in logs. Solution: Compare your values with the new defaults:- View current values
- View chart defaults
Database connection issues
Symptom: Services fail to connect to PostgreSQL or MongoDB. Solution: Verify database connectivity and credentials:- Check database pods
- Check service logs
Related resources
- Deploy Midaz using Helm - Initial installation guide
- Helm v3 upgrade guide - Migration from v2.x to v3.x
- Version compatibility - Version mapping reference
- Helm repository - Source code and release notes

