The Midaz Helm Chart has the following dependencies for the project’s default installation. All dependencies are enabled by default.
Production recommendation: By default, the Midaz chart bundles all dependencies. For production deployments, disable bundled dependencies and connect to managed services (AWS RDS, Amazon MQ, etc.) for better reliability, automated backups, and scaling.
The examples below show configurations for both Ledger (recommended) and Onboarding/Transaction (legacy) services. Choose the configuration that matches your deployment.
Production: Use managed RabbitMQ (Amazon MQ, CloudAMQP) with HA configuration for message durability and automatic failover.
If you’re using an external RabbitMQ instance, you need to load the required load_definitions.json file. Without these queues, exchanges, and bindings in place, Midaz won’t work as expected.You can load the definitions in one of two ways:AutomaticallyEnable the bootstrap job in your values.yaml to automatically apply the RabbitMQ definitions to your external instance:
To streamline external RabbitMQ setup, this chart provides a one-shot Job that:
Applies the standard definitions file via the HTTP API.
Creates/updates the transaction and consumer users with custom passwords.
Waits for AMQP connectivity with a 300s timeout.
Is idempotent: if users already exist, it skips and exits.
Configure in values.yaml:
rabbitmq: enabled: false # disable bundled RabbitMQ to use an external oneglobal: externalRabbitmqDefinitions: enabled: true connection: protocol: "http" # http or https host: "your-rabbitmq-host" port: "15672" # HTTP management port portAmqp: "5672" # AMQP port (for connectivity check) rabbitmqAdminLogin: # Option A: Use an existing Secret (recommended) # Required keys: RABBITMQ_ADMIN_USER, RABBITMQ_ADMIN_PASS useExistingSecret: name: "my-rabbitmq-admin-secret" # Option B: Inline credentials (not recommended in production) # username: "admin" # password: "s3cret" appCredentials: # Option A: Use an existing Secret (recommended) # Required keys: RABBITMQ_DEFAULT_PASS, RABBITMQ_CONSUMER_PASS useExistingSecret: name: "my-rabbitmq-app-credentials" # Option B: Inline passwords (not recommended in production) # transactionPassword: "transaction-pass" # consumerPassword: "consumer-pass"
All secrets must be in the same namespace as the release. The Job has a TTL of 300 seconds after completion. Users created: midaz (admin), transaction, consumer.