> For the complete documentation index, see [llms.txt](https://docs.release.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.release.com/reference-documentation/helm/version-controlled-charts.md).

# Version-controlled Helm charts

To use a Helm Chart from your version control repository, add a definition to your application configuration in Release:

```
charts:
- name: acme-frontend
  directory: helm/backend
  values: values.yaml
```

You can access Helm Charts from multiple remote repositories:

```
charts:
- name: acme-frontend
  directory: helm/frontend
  values: values.yaml
- name: acme-worker
  repo_url: https://github.com/acme-co/backend.git
  directory: helm/worker
  values: values.yaml
- name: acme-api
  repo_url: https://github.com/acme-co/backend.git
  repo_branch: fix-broken-api
  directory: helm/api
  values: values.yaml
```

At deploy time, Release will look for a branch in the remote repository that matches the branch currently being deployed.

To pin a chart from a remote repository to a specific branch, use `remote_branch` to define which branch to use for the Helm Chart in the remote repository.

Once you've configured the charts, you can use them in a workflow. Workflows allow you to run the Helm charts in parallel and orchestrate the deployment of all your services.

Here is an example workflow to deploy Postgres, a worker, an API, and a frontend:

```
workflows:
- name: setup
  parallelize:
  - step: database
    tasks:
    - services.postgres
  - step: backend
    tasks:
    - charts.acme-worker
    - charts.acme-api
  - step: frontend
    tasks:
    - charts.acme-frontend
- name: patch
  parallelize:
  - step: backend
    tasks:
    - charts.acme-worker
    - charts.acme-api
  - step: frontend
    tasks:
    - charts.acme-frontend
```

For more details on how to expose your open-source service to the internet, see our guide to [Helm ingress and networking](https://github.com/releasehub-com/docs/blob/main/reference-guide/ingress-and-networking.md). For more information on configuring Helm Charts, values files, and passing environment variables to your Helm Chart, see [Helm configuration](https://github.com/releasehub-com/docs/blob/main/reference-guide/configuration.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.release.com/reference-documentation/helm/version-controlled-charts.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
