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. For more information on configuring Helm Charts, values files, and passing environment variables to your Helm Chart, see Helm configuration.

Last updated