> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Installing Midaz via Helm

> Install Midaz on Kubernetes with the official Helm chart and verify the resulting release.

<Note>
  This guide is for infrastructure teams operating a Kubernetes deployment. For deployment models, see [SaaS and BYOC](/en/start-here/evaluate-and-deploy/deployment-models).
</Note>

The Midaz chart deploys Ledger by default and enables its Valkey, PostgreSQL, MongoDB, and RabbitMQ dependencies by default. CRM is optional: the chart sets `crm.enabled` to `false`.

<Warning>
  Use the Ledger workload for new installations. The chart does not deploy separate onboarding or transaction workloads.
</Warning>

The OpenTelemetry Collector is a separate chart. The Midaz chart can inject OTEL connection variables into Ledger, CRM, and Tracer, but it does not install a collector.

## Prerequisites

* A Kubernetes cluster compatible with the chart and ingress controller you use.
* Helm 3 installed locally.
* `kubectl` installed and configured with access to the cluster.
* Access to the registry that serves the selected chart and images.
* DNS and TLS material if you configure ingress.

## Install Midaz

Create a `values.yaml` that supplies the chart's required credentials before installing. When you use bundled RabbitMQ, follow the [dependency configuration](/en/platform/deploy/midaz/midaz-dependencies#bundled-rabbitmq).

```bash theme={null}
CHART_VERSION=replace-with-chart-version
helm show chart oci://registry-1.docker.io/lerianstudio/midaz-helm --version "$CHART_VERSION"
helm install midaz oci://registry-1.docker.io/lerianstudio/midaz-helm \
  --version "$CHART_VERSION" -n midaz --create-namespace -f values.yaml
```

## Verify the installation

Check the Helm release and the workloads created in the namespace:

```bash theme={null}
helm list -n midaz
kubectl get pods -n midaz
kubectl get svc -n midaz
```

If a workload is not ready, inspect its events and logs:

```bash theme={null}
kubectl get events -n midaz --sort-by=.lastTimestamp
kubectl logs deployment/midaz-ledger -n midaz
```

<Note>
  The exact workload count depends on the values you use, including whether you enable bundled dependencies and optional CRM.
</Note>

## Next steps

* [Configure ingress](/en/platform/deploy/midaz/midaz-ingress)
* [Configure observability](/en/platform/deploy/midaz/midaz-observability)
* [Configure dependencies](/en/platform/deploy/midaz/midaz-dependencies)
* [Components reference](/en/platform/deploy/midaz/midaz-components-reference)
