Skip to main content
Version: main 🚧

Experimental Deploy

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​

info

The experimental.deploy.vcluster.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 host or virtual cluster.

host required object pro​

Host defines what manifests to deploy into the host cluster

manifests required string pro​

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

manifestsTemplate required string pro​

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

vcluster required object pro​

VCluster defines what manifests and charts to deploy into the vCluster

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