Skip to main content
Version: v0.27 Stable

Experimental deploy

Limited vCluster Tenancy Configuration Support

This feature is only available when using the following worker node types:

  • Host Nodes
  • Private Nodes
  • 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 ​

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

    host required object ​

    Host defines what manifests to deploy into the host cluster

    manifests required string ​

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

    manifestsTemplate required string ​

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

    vcluster required object ​

    VCluster defines what manifests and charts to deploy into the vCluster

    manifests required string ​

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

    manifestsTemplate required string ​

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

    helm required object[] ​

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

    chart required object ​

    Chart defines what chart should get deployed.

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

    Release defines what release should get deployed.

    name required string ​

    Name of the release

    namespace required string ​

    Namespace of the release

    values required string ​

    Values defines what values should get used.

    timeout required string ​

    Timeout defines the timeout for Helm

    bundle required string ​

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