# Use Helm charts through the Kix Helm bridge

Use `kix.helmChart` when you want Kix to fetch, render, and deploy an upstream
Helm chart as part of a cluster definition.

This guide uses the Reflector chart. You need the chart repository, chart name,
version, and Nix SRI hash.

## Add the chart instance

Declare the chart as the instance's package:

<Snippet {...inlineHelmChart} />

The version and hash pin the chart archive. `releaseName` controls the release
name passed to Helm and therefore affects names generated by the chart.

Pass chart values under the instance's `config.values` attribute, using the
option names and value types documented by the upstream chart.

## Check the rendered chart

Evaluate the cluster and run Kix's validation checks:

<Command {...check} />

Inspect one of the resources produced by the chart:

<Command {...deployment} />

The rendered Deployment carries Kix's cluster and package metadata. Kix also
reconstructs dependencies between the chart's ServiceAccounts, RBAC resources,
Services, and workloads.

## Deploy the chart

Deploy and inspect the package instance:

<Command
  commands={[
    "kix deploy how-to-helm-bridge",
    "kix status how-to-helm-bridge",
    "kubectl get deployment -n reflector-system reflector",
  ]}
  cwd="kix-examples/"
/>

When you update the chart, change `version` and `hash` together, run `kix check`,
and review `kix diff` before deploying.

If evaluation reports a missing root resource or an invalid Kubernetes
relationship, inspect the chart's rendered resources. Charts that need custom
root selection, output builders, or cross-chart dependencies should use a
dedicated Kix package built with `scope.helm.importChart`.