Need a refresher on installing Midaz with Helm? Check the Using Helm guide in Deployment strategies before starting your upgrade.
Quick Start
1. Check the prerequisites
- Helm v3.8+ installed and available (helm version).
- Kubernetes v1.20+ cluster running.
- Backup your existing installation.
2. Run the upgrade command
3. Verify the upgrade
Version Compatibility
Component | v2.x | v3.0.0 |
---|---|---|
Kubernetes | 1.19+ | 1.20+ |
Helm | 3.5+ | 3.8+ |
Redis | 6.x | 6.x/7.x* |
PostgreSQL | 13+ | 13+ |
MongoDB | 4.4+ | 4.4+ |
Pre-upgrade checklist
1
Backup existing Helm releases:
2
Review the Breaking Changes section below.
3
Check resource requirements for v3.0.0.
4
Schedule a maintenance window.
5
Inform your team about the upgrade plan.
Breaking changes
Consolidation of REDIS_PORT into REDIS_HOST
TheREDIS_PORT
environment variable has been removed. Its value must now be included directly in the REDIS_HOST
variable as <host>:<port>
.
Remove
REDIS_PORT
from your environment and update REDIS_HOST
to avoid connection errors. Check the onboarding configmap and transaction configmap templates for more details.onboarding
transaction
App version bump
Midaz has been bumped to v3.0.0.Check the app changelog for the complete list of changes.
Additions
New onboarding environment variable
A new environment variable (ACCOUNT_TYPE_VALIDATION
) has been added to the onboarding
service. You can use it to specify which ledgers are valid for account creation per organization:
Check the onboarding configmap template for more details.
New transaction environment variable
A new environment variable (TRANSACTION_ROUTE_VALIDATION
) has been added to the transaction
service. You can use it to define which ledgers are allowed per organization for transaction routing validation:
Check the transaction configmap template for more details.
New Redis variables
The following environment variables have been introduced to theonboarding
and transaction
services:
Check the onboarding configmap and transaction configmap templates for more details.
Enterprise: NGINX gateway for plugin UIs
A new optional NGINX component has been introduced to serve as a gateway/proxy for the plugins UIs of activated plugins in enterprise deployments.- By default, this dependency is disabled.
- It can be enabled per customer based on the plugins they have access to.
- This gateway simplifies the routing and mounting of plugin frontends under the
midaz-console
domain.
Midaz Console environment variables
New environment variables have been added to midaz-console to support this feature:Check the console configmap template for more details.
Helm parameters
New Helm parameters were also introduced:Check the Plugin UIs section in
values.yaml
for more details.NGINX variables
Check the nginx section in
values.yaml
for more details.Enterprise: OTEL Collector
A new optional OTEL Collector component has been introduced for enterprise clients who want to send metrics to Lerian’s telemetry stack. This collector is disabled by default and can be enabled in values:Check the otel-collector-lerian section in
values.yaml
for more details.External secrets support
You can now use external secrets for sensitive data inconsole
, onboarding
, and transaction
.
For console
Set:Check the console secrets template to get the secrets keys.
For onboarding
Set:Check the onboarding secrets template to get the secrets keys.
For transaction
Set:Check the transaction secrets template to get the secrets keys.
Post-upgrade verification
1. Check pod status
Running
and READY
.
2. Verify services
3. Check the logs
Rollback procedure
If you encounter issues after the upgrade, you can roll back to the previous version:Common issues and fixes
Redis Connection Issues
- Symptom: Services fail to start with Redis connection errors.
- Solution: Verify your Redis configuration in
values.yaml
:
Missing Secrets
- Symptom: Pods crash with missing secret errors.
- Solution: Ensure all required secrets are correctly configured:
- Check secret names in your
values.yaml
. - Verify external secrets exist if using
useExistingSecrets: true
.
- Check secret names in your
NGINX Gateway Issues
- Symptom: Plugin UIs are not accessible.
- Solution:
- Verify NGINX is enabled in
values.yaml
. - Check NGINX logs:
- Verify NGINX is enabled in
Architecture changes
V2 architecture

Figure 1. V2 architecture data flow.
- Console: The main user interface and API gateway.
- Onboarding Service: Handles account creation and management.
- Transaction Service: Processes financial transactions.
- Redis: Used for caching and temporary data storage.
- PostgreSQL: Primary database for persistent storage
V3 architecture

Figure 2. V3 architecture data flow
- NGINX Gateway
- New component for managing plugin UIs.
- Enables dynamic plugin loading and routing.
- Provides better security isolation for plugins.
- Plugin Architecture
- Support for modular plugin UIs.
- Each plugin can be enabled/disabled independently.
- Plugins can be developed and deployed separately.
- Observability
- New OTEL Collector for centralized metrics.
- Improved monitoring capabilities.
- Better integration with external monitoring tools.
- Enhanced Security
- External secrets support.
- Improved TLS configuration.
- Better isolation between components.