Experimental
These features are experimental! They may have breaking changes or be deprecated.
Config reference​
experimental
required object pro​
Experimental features for vCluster. Configuration here might change, so be careful with this.
experimental
required object pro​deploy
required object pro​
Deploy allows you to configure manifests and Helm charts to deploy within the host or virtual cluster.
deploy
required object pro​host
required object pro​
Host defines what manifests to deploy into the host cluster
host
required object pro​vcluster
required object pro​
VCluster defines what manifests and charts to deploy into the vCluster
vcluster
required object pro​manifests
required string pro​
Manifests are raw Kubernetes manifests that should get applied within the virtual cluster.
manifests
required string pro​manifestsTemplate
required string pro​
ManifestsTemplate is a Kubernetes manifest template that will be rendered with vCluster values before applying it within the virtual cluster.
manifestsTemplate
required string pro​helm
required object[] pro​
Helm are Helm charts that should get deployed into the virtual cluster
helm
required object[] pro​chart
required object pro​
Chart defines what chart should get deployed.
chart
required object pro​release
required object pro​
Release defines what release should get deployed.
release
required object pro​values
required string pro​
Values defines what values should get used.
values
required string pro​timeout
required string pro​
Timeout defines the timeout for Helm
timeout
required string pro​bundle
required string pro​
Bundle allows to compress the Helm chart and specify this instead of an online chart
bundle
required string pro​syncSettings
required object pro​
SyncSettings are advanced settings for the syncer controller.
syncSettings
required object pro​disableSync
required boolean false pro​
DisableSync will not sync any resources and disable most control plane functionality.
disableSync
required boolean false pro​rewriteKubernetesService
required boolean false pro​
RewriteKubernetesService will rewrite the Kubernetes service to point to the vCluster service if disableSync is enabled
rewriteKubernetesService
required boolean false pro​targetNamespace
required string pro​
TargetNamespace is the namespace where the workloads should get synced to.
targetNamespace
required string pro​setOwner
required boolean true pro​
SetOwner specifies if vCluster should set an owner reference on the synced objects to the vCluster service. This allows for easy garbage collection.
setOwner
required boolean true pro​hostMetricsBindAddress
required string pro​
HostMetricsBindAddress is the bind address for the local manager
hostMetricsBindAddress
required string pro​virtualMetricsBindAddress
required string pro​
VirtualMetricsBindAddress is the bind address for the virtual manager
virtualMetricsBindAddress
required string pro​genericSync
required object pro​
GenericSync holds options to generically sync resources from virtual cluster to host.
genericSync
required object pro​version
required string pro​
Version is the config version
version
required string pro​export
required object[] pro​
Exports syncs a resource from the virtual cluster to the host
export
required object[] pro​apiVersion
required string pro​
APIVersion of the object to sync
apiVersion
required string pro​kind
required string pro​
Kind of the object to sync
kind
required string pro​optional
required boolean pro​
optional
required boolean pro​replaceOnConflict
required boolean pro​
ReplaceWhenInvalid determines if the controller should try to recreate the object
if there is a problem applying
replaceOnConflict
required boolean pro​patches
required object[] pro​
Patches are the patches to apply on the virtual cluster objects
when syncing them from the host cluster
patches
required object[] pro​op
required string pro​
Operation is the type of the patch
op
required string pro​fromPath
required string pro​
FromPath is the path from the other object
fromPath
required string pro​path
required string pro​
Path is the path of the patch
path
required string pro​namePath
required string pro​
NamePath is the path to the name of a child resource within Path
namePath
required string pro​namespacePath
required string pro​
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string pro​value
required object pro​
Value is the new value to be set to the path
value
required object pro​regex
required string pro​
Regex - is regular expresion used to identify the Name,
and optionally Namespace, parts of the field value that
will be replaced with the rewritten Name and/or Namespace
regex
required string pro​conditions
required object[] pro​
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] pro​path
required string pro​
Path is the path within the object to select
path
required string pro​subPath
required string pro​
SubPath is the path below the selected object to select
subPath
required string pro​equal
required object pro​
Equal is the value the path should be equal to
equal
required object pro​notEqual
required object pro​
NotEqual is the value the path should not be equal to
notEqual
required object pro​empty
required boolean pro​
Empty means that the path value should be empty or unset
empty
required boolean pro​ignore
required boolean pro​
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean pro​reversePatches
required object[] pro​
ReversePatches are the patches to apply to host cluster objects
after it has been synced to the virtual cluster
reversePatches
required object[] pro​op
required string pro​
Operation is the type of the patch
op
required string pro​fromPath
required string pro​
FromPath is the path from the other object
fromPath
required string pro​path
required string pro​
Path is the path of the patch
path
required string pro​namePath
required string pro​
NamePath is the path to the name of a child resource within Path
namePath
required string pro​namespacePath
required string pro​
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string pro​value
required object pro​
Value is the new value to be set to the path
value
required object pro​regex
required string pro​
Regex - is regular expresion used to identify the Name,
and optionally Namespace, parts of the field value that
will be replaced with the rewritten Name and/or Namespace
regex
required string pro​conditions
required object[] pro​
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] pro​path
required string pro​
Path is the path within the object to select
path
required string pro​subPath
required string pro​
SubPath is the path below the selected object to select
subPath
required string pro​equal
required object pro​
Equal is the value the path should be equal to
equal
required object pro​notEqual
required object pro​
NotEqual is the value the path should not be equal to
notEqual
required object pro​empty
required boolean pro​
Empty means that the path value should be empty or unset
empty
required boolean pro​ignore
required boolean pro​
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean pro​import
required object[] pro​
Imports syncs a resource from the host cluster to virtual cluster
import
required object[] pro​apiVersion
required string pro​
APIVersion of the object to sync
apiVersion
required string pro​kind
required string pro​
Kind of the object to sync
kind
required string pro​optional
required boolean pro​
optional
required boolean pro​replaceOnConflict
required boolean pro​
ReplaceWhenInvalid determines if the controller should try to recreate the object
if there is a problem applying
replaceOnConflict
required boolean pro​patches
required object[] pro​
Patches are the patches to apply on the virtual cluster objects
when syncing them from the host cluster
patches
required object[] pro​op
required string pro​
Operation is the type of the patch
op
required string pro​fromPath
required string pro​
FromPath is the path from the other object
fromPath
required string pro​path
required string pro​
Path is the path of the patch
path
required string pro​namePath
required string pro​
NamePath is the path to the name of a child resource within Path
namePath
required string pro​namespacePath
required string pro​
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string pro​value
required object pro​
Value is the new value to be set to the path
value
required object pro​regex
required string pro​
Regex - is regular expresion used to identify the Name,
and optionally Namespace, parts of the field value that
will be replaced with the rewritten Name and/or Namespace
regex
required string pro​conditions
required object[] pro​
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] pro​path
required string pro​
Path is the path within the object to select
path
required string pro​subPath
required string pro​
SubPath is the path below the selected object to select
subPath
required string pro​equal
required object pro​
Equal is the value the path should be equal to
equal
required object pro​notEqual
required object pro​
NotEqual is the value the path should not be equal to
notEqual
required object pro​empty
required boolean pro​
Empty means that the path value should be empty or unset
empty
required boolean pro​ignore
required boolean pro​
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean pro​reversePatches
required object[] pro​
ReversePatches are the patches to apply to host cluster objects
after it has been synced to the virtual cluster
reversePatches
required object[] pro​op
required string pro​
Operation is the type of the patch
op
required string pro​fromPath
required string pro​
FromPath is the path from the other object
fromPath
required string pro​path
required string pro​
Path is the path of the patch
path
required string pro​namePath
required string pro​
NamePath is the path to the name of a child resource within Path
namePath
required string pro​namespacePath
required string pro​
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string pro​value
required object pro​
Value is the new value to be set to the path
value
required object pro​regex
required string pro​
Regex - is regular expresion used to identify the Name,
and optionally Namespace, parts of the field value that
will be replaced with the rewritten Name and/or Namespace
regex
required string pro​conditions
required object[] pro​
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] pro​path
required string pro​
Path is the path within the object to select
path
required string pro​subPath
required string pro​
SubPath is the path below the selected object to select
subPath
required string pro​equal
required object pro​
Equal is the value the path should be equal to
equal
required object pro​notEqual
required object pro​
NotEqual is the value the path should not be equal to
notEqual
required object pro​empty
required boolean pro​
Empty means that the path value should be empty or unset
empty
required boolean pro​ignore
required boolean pro​
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean pro​hooks
required object pro​
Hooks are hooks that can be used to inject custom patches before syncing
hooks
required object pro​hostToVirtual
required object[] pro​
HostToVirtual is a hook that is executed before syncing from the host to the virtual cluster
hostToVirtual
required object[] pro​apiVersion
required string pro​
APIVersion of the object to sync
apiVersion
required string pro​kind
required string pro​
Kind of the object to sync
kind
required string pro​verbs
required string[] pro​
Verbs are the verbs that the hook should mutate
verbs
required string[] pro​patches
required object[] pro​
Patches are the patches to apply on the object to be synced
patches
required object[] pro​op
required string pro​
Operation is the type of the patch
op
required string pro​fromPath
required string pro​
FromPath is the path from the other object
fromPath
required string pro​path
required string pro​
Path is the path of the patch
path
required string pro​namePath
required string pro​
NamePath is the path to the name of a child resource within Path
namePath
required string pro​namespacePath
required string pro​
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string pro​value
required object pro​
Value is the new value to be set to the path
value
required object pro​regex
required string pro​
Regex - is regular expresion used to identify the Name,
and optionally Namespace, parts of the field value that
will be replaced with the rewritten Name and/or Namespace
regex
required string pro​conditions
required object[] pro​
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] pro​path
required string pro​
Path is the path within the object to select
path
required string pro​subPath
required string pro​
SubPath is the path below the selected object to select
subPath
required string pro​equal
required object pro​
Equal is the value the path should be equal to
equal
required object pro​notEqual
required object pro​
NotEqual is the value the path should not be equal to
notEqual
required object pro​empty
required boolean pro​
Empty means that the path value should be empty or unset
empty
required boolean pro​ignore
required boolean pro​
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean pro​virtualToHost
required object[] pro​
VirtualToHost is a hook that is executed before syncing from the virtual to the host cluster
virtualToHost
required object[] pro​apiVersion
required string pro​
APIVersion of the object to sync
apiVersion
required string pro​kind
required string pro​
Kind of the object to sync
kind
required string pro​verbs
required string[] pro​
Verbs are the verbs that the hook should mutate
verbs
required string[] pro​patches
required object[] pro​
Patches are the patches to apply on the object to be synced
patches
required object[] pro​op
required string pro​
Operation is the type of the patch
op
required string pro​fromPath
required string pro​
FromPath is the path from the other object
fromPath
required string pro​path
required string pro​
Path is the path of the patch
path
required string pro​namePath
required string pro​
NamePath is the path to the name of a child resource within Path
namePath
required string pro​namespacePath
required string pro​
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string pro​value
required object pro​
Value is the new value to be set to the path
value
required object pro​regex
required string pro​
Regex - is regular expresion used to identify the Name,
and optionally Namespace, parts of the field value that
will be replaced with the rewritten Name and/or Namespace
regex
required string pro​conditions
required object[] pro​
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] pro​path
required string pro​
Path is the path within the object to select
path
required string pro​subPath
required string pro​
SubPath is the path below the selected object to select
subPath
required string pro​equal
required object pro​
Equal is the value the path should be equal to
equal
required object pro​notEqual
required object pro​
NotEqual is the value the path should not be equal to
notEqual
required object pro​empty
required boolean pro​
Empty means that the path value should be empty or unset
empty
required boolean pro​ignore
required boolean pro​
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean pro​multiNamespaceMode
required object pro​
MultiNamespaceMode tells virtual cluster to sync to multiple namespaces instead of a single one. This will map each virtual cluster namespace to a single namespace in the host cluster.
multiNamespaceMode
required object pro​isolatedControlPlane
required object pro​
IsolatedControlPlane is a feature to run the vCluster control plane in a different Kubernetes cluster than the workloads themselves.
isolatedControlPlane
required object pro​enabled
required boolean pro​
Enabled specifies if the isolated control plane feature should be enabled.
enabled
required boolean pro​headless
required boolean false pro​
Headless states that Helm should deploy the vCluster in headless mode for the isolated control plane.
headless
required boolean false pro​kubeConfig
required string pro​
KubeConfig is the path where to find the remote workload cluster kubeconfig.
kubeConfig
required string pro​namespace
required string pro​
Namespace is the namespace where to sync the workloads into.
namespace
required string pro​service
required string pro​
Service is the vCluster service in the remote cluster.
service
required string pro​virtualClusterKubeConfig
required object pro​
VirtualClusterKubeConfig allows you to override distro specifics and specify where vCluster will find the required certificates and vCluster config.
virtualClusterKubeConfig
required object pro​kubeConfig
required string pro​
KubeConfig is the virtual cluster kubeconfig path.
kubeConfig
required string pro​serverCAKey
required string pro​
ServerCAKey is the server ca key path.
serverCAKey
required string pro​serverCACert
required string pro​
ServerCAKey is the server ca cert path.
serverCACert
required string pro​clientCACert
required string pro​
ServerCAKey is the client ca cert path.
clientCACert
required string pro​requestHeaderCACert
required string pro​
RequestHeaderCACert is the request header ca cert path.
requestHeaderCACert
required string pro​denyProxyRequests
required object[] pro​
DenyProxyRequests denies certain requests in the vCluster proxy.
denyProxyRequests
required object[] pro​name
required string pro​
The name of the check.
name
required string pro​namespaces
required string[] pro​
Namespace describe a list of namespaces that will be affected by the check.
An empty list means that all namespaces will be affected.
In case of ClusterScoped rules, only the Namespace resource is affected.
namespaces
required string[] pro​rules
required object[] pro​
Rules describes on which verbs and on what resources/subresources the webhook is enforced.
The webhook is enforced if it matches any Rule.
The version of the request must match the rule version exactly. Equivalent matching is not supported.
rules
required object[] pro​apiGroups
required string[] pro​
APIGroups is the API groups the resources belong to. '*' is all groups.
apiGroups
required string[] pro​apiVersions
required string[] pro​
APIVersions is the API versions the resources belong to. '*' is all versions.
apiVersions
required string[] pro​resources
required string[] pro​
Resources is a list of resources this rule applies to.
resources
required string[] pro​scope
required string pro​
Scope specifies the scope of this rule.
scope
required string pro​operations
required string[] pro​
Verb is the kube verb associated with the request for API requests, not the http verb. This includes things like list and watch.
For non-resource requests, this is the lowercase http verb.
If '*' is present, the length of the slice must be one.
operations
required string[] pro​excludedUsers
required string[] pro​
ExcludedUsers describe a list of users for which the checks will be skipped.
Impersonation attempts on these users will still be subjected to the checks.
excludedUsers
required string[] pro​