Experimental deploy
This feature is experimental. Breaking changes may occur between releases. It may become Enterprise-only or be deprecated. Not recommended for production use.
Apply manifests on initialization in vCluster
Apply Kubernetes manifests when the virtual cluster starts. This is useful for configuring internal vCluster resources. For example:
experimental:
deploy:
vcluster:
manifests: |-
apiVersion: v1
kind: Service
...
apiVersion: v1
kind: ConfigMap
...
Apply manifest templates on initialization in vCluster
Add a manifest template that uses Helm values. For example:
experimental:
deploy:
vcluster:
manifestsTemplate: |-
apiVersion: v1
kind: ConfigMap
data:
example: {{ .Release.Name }}
Apply Helm charts on initialization in vCluster
Upstream chart
Apply a Helm chart from public and private upstream chart repositories. This example deploys from public and private:
experimental:
deploy:
vcluster:
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.
experimental:
deploy:
vcluster:
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.
Apply manifests on initialization in host
Apply Kubernetes manifests when the virtual cluster starts into the host namespace. This is useful for configuring external vCluster resources. For example:
experimental:
deploy:
host:
manifests: |-
apiVersion: v1
kind: Secret
...
apiVersion: v1
kind: ConfigMap
...
manifestsTemplate: |-
apiVersion: v1
kind: ConfigMap
data:
example: {{ .Release.Name }}
Config reference
The experimental.deploy.vcluster.helm[].chart.version scheme only supports absolute versions and not any constraints.
deploy required object
Deploy allows you to configure manifests and Helm charts to deploy within the host or virtual cluster.
deploy required object host required object
Host defines what manifests to deploy into the host cluster
host required object vcluster required object
VCluster defines what manifests and charts to deploy into the vCluster
vcluster required object manifests required string
Manifests are raw Kubernetes manifests that should get applied within the virtual cluster.
manifests required string manifestsTemplate required string
ManifestsTemplate is a Kubernetes manifest template that will be rendered with vCluster values before applying it within the virtual cluster.
manifestsTemplate required string helm required object[]
Helm are Helm charts that should get deployed into the virtual cluster
helm required object[] chart required object
Chart defines what chart should get deployed.
chart required object release required object
Release defines what release should get deployed.
release required object values required string
Values defines what values should get used.
values required string timeout required string
Timeout defines the timeout for Helm
timeout required string bundle required string
Bundle allows to compress the Helm chart and specify this instead of an online chart
bundle required string