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 tenant 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 tenant 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 object
Deploy allows you to configure manifests and Helm charts to deploy within the host or virtual cluster.
deploy object host object
Host defines what manifests to deploy into the host cluster
host object manifests string
Manifests are raw Kubernetes manifests that should get applied within the host cluster.
manifests string manifestsTemplate string
ManifestsTemplate is a Kubernetes manifest template that will be rendered with vCluster values before applying it within the host cluster.
manifestsTemplate string vcluster object
VCluster defines what manifests and charts to deploy into the vCluster
vcluster object manifests string
Manifests are raw Kubernetes manifests that should get applied within the virtual cluster.
manifests string manifestsTemplate string
ManifestsTemplate is a Kubernetes manifest template that will be rendered with vCluster values before applying it within the virtual cluster.
manifestsTemplate string helm object[]
Helm are Helm charts that should get deployed into the virtual cluster
helm object[] chart object
Chart defines what chart should get deployed.
chart object name string
name string repo string
repo string insecure boolean
insecure boolean version string
version string username string
username string password string
password string release object
Release defines what release should get deployed.
release object name string
Name of the release
name string namespace string
Namespace of the release
namespace string values string
Values defines what values should get used.
values string timeout string
Timeout defines the timeout for Helm
timeout string bundle string
Bundle allows to compress the Helm chart and specify this instead of an online chart
bundle string