Helm Charts
Applying charts on vCluster initialization
vCluster now supports applying helm charts while initializing a new vCluster. Currently 2 methods of applying charts are supported:
The init.helm[].chart.version
scheme only supports absolute versions and not any constraints.
Upstream Mode
This is the most straightforward approach of applying a helm chart existing in and public/private upstream chart repository. The following examples demonstrate the usage:
init:
helm:
# public chart
- chart:
name: cert-manager
repo: https://charts.jetstack.io
version: v1.8.0
# optional field
values: |-
installCRDs: true
release:
name: cert-manager
namespace: cert-manager
# private chart
- chart:
name: my-chart
repo: https://<address/to/private/repo>
version: <chart version>
username: <username_for_private_repo>
password: <password_for_private_repo>
release:
name: my-release
namespace: my-release-namespace
Bundle Mode
If you're interested in applying a local chart directory, or a chart pulled from a repo that exists locally as a tar
archive, then bundle mode can come handy. Let's say we have a chart named my-chart.tar.gz
in the current directory, we can use the bundle mode to deploy it during vCluster initialization as follows:
# copy the chart to your clipboard
cat my-chart.tar.gz | base64 | pbcopy
Next, we can paste the bundle in our values file:
init:
helm:
- bundle: <base64_encoded_tar_bundle>
chart:
name: my-chart
version: <chart version>
values: |-
foo: bar
release:
name: my-release
namespace: my-namespace