Skip to main content

Experimental Deploy

Apply manifests on initialization

Apply Kubernetes manifests when the virtual cluster starts. This is useful for configuring internal vCluster resources. For example:

deploy:
manifests: |-
apiVersion: v1
kind: Service
...
apiVersion: v1
kind: ConfigMap
...

Apply manifest templates on initialization

Add a manifest template that uses Helm values. For example:

deploy:
manifestsTemplate: |-
apiVersion: v1
kind: ConfigMap
data:
example: {{ .Release.Name }}

Apply Helm charts on initialization

Upstream chart

Apply a Helm chart from public and private upstream chart repositories. This example deploys from public and private:

deploy:
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://my-company.com/private-repo/
version: 1.0
username: my-username
password: my-password
release:
name: my-release
namespace: my-release-namespace

Local chart

Apply a chart that exists locally as a compressed tar archive.

deploy:
helm:
bundle: COMPRESSED_STRING

Replace COMPRESSED_STRING with a compressed base64 string that has the chart's contents, which are then directly embedded in the vCluster values file.

Config reference

info

The init.helm[].chart.version scheme only supports absolute versions and not any constraints.

deploy required object pro

Deploy allows you to configure manifests and Helm charts to deploy within the virtual cluster.

manifests required string pro

Manifests are raw Kubernetes manifests that should get applied within the virtual cluster.

manifestsTemplate required string pro

ManifestsTemplate is a Kubernetes manifest template that will be rendered with vCluster values before applying it within the virtual cluster.

helm required object[] pro

Helm are Helm charts that should get deployed into the virtual cluster

chart required object pro

Chart defines what chart should get deployed.

name required string pro
repo required string pro
insecure required boolean pro
version required string pro
username required string pro
password required string pro
release required object pro

Release defines what release should get deployed.

name required string pro

Name of the release

namespace required string pro

Namespace of the release

values required string pro

Values defines what values should get used.

timeout required string pro

Timeout defines the timeout for Helm

bundle required string pro

Bundle allows to compress the Helm chart and specify this instead of an online chart