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 prodeploy
required object pro
Deploy allows you to configure manifests and Helm charts to deploy within the virtual cluster.
deploy
required object promanifests
required string pro
Manifests are raw Kubernetes manifests that should get applied within the virtual cluster.
manifests
required string promanifestsTemplate
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 prohelm
required object[] pro
Helm are Helm charts that should get deployed into the virtual cluster
helm
required object[] prochart
required object pro
Chart defines what chart should get deployed.
chart
required object prorelease
required object pro
Release defines what release should get deployed.
release
required object provalues
required string pro
Values defines what values should get used.
values
required string protimeout
required string pro
Timeout defines the timeout for Helm
timeout
required string probundle
required string pro
Bundle allows to compress the Helm chart and specify this instead of an online chart
bundle
required string prosyncSettings
required object pro
SyncSettings are advanced settings for the syncer controller.
syncSettings
required object prodisableSync
required boolean false pro
DisableSync will not sync any resources and disable most control plane functionality.
disableSync
required boolean false prorewriteKubernetesService
required boolean false pro
RewriteKubernetesService will rewrite the Kubernetes service to point to the vCluster service if disableSync is enabled
rewriteKubernetesService
required boolean false protargetNamespace
required string pro
TargetNamespace is the namespace where the workloads should get synced to.
targetNamespace
required string prosetOwner
required boolean false 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 false prosyncLabels
required string[] pro
SyncLabels are labels that should get not rewritten when syncing from the virtual cluster.
syncLabels
required string[] prohostMetricsBindAddress
required string pro
HostMetricsBindAddress is the bind address for the local manager
hostMetricsBindAddress
required string provirtualMetricsBindAddress
required string pro
VirtualMetricsBindAddress is the bind address for the virtual manager
virtualMetricsBindAddress
required string progenericSync
required object pro
GenericSync holds options to generically sync resources from virtual cluster to host.
genericSync
required object proversion
required string pro
Version is the config version
version
required string proexport
required object[] pro
Exports syncs a resource from the virtual cluster to the host
export
required object[] proapiVersion
required string pro
APIVersion of the object to sync
apiVersion
required string prokind
required string pro
Kind of the object to sync
kind
required string prooptional
required boolean false pro
optional
required boolean false proreplaceOnConflict
required boolean false pro
ReplaceWhenInvalid determines if the controller should try to recreate the object
if there is a problem applying
replaceOnConflict
required boolean false propatches
required object[] pro
Patches are the patches to apply on the virtual cluster objects
when syncing them from the host cluster
patches
required object[] proop
required string pro
Operation is the type of the patch
op
required string profromPath
required string pro
FromPath is the path from the other object
fromPath
required string propath
required string pro
Path is the path of the patch
path
required string pronamePath
required string pro
NamePath is the path to the name of a child resource within Path
namePath
required string pronamespacePath
required string pro
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string provalue
required object pro
Value is the new value to be set to the path
value
required object proregex
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 proconditions
required object[] pro
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] propath
required string pro
Path is the path within the object to select
path
required string prosubPath
required string pro
SubPath is the path below the selected object to select
subPath
required string proequal
required object pro
Equal is the value the path should be equal to
equal
required object pronotEqual
required object pro
NotEqual is the value the path should not be equal to
notEqual
required object proempty
required boolean false pro
Empty means that the path value should be empty or unset
empty
required boolean false proignore
required boolean false pro
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean false proreversePatches
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[] proop
required string pro
Operation is the type of the patch
op
required string profromPath
required string pro
FromPath is the path from the other object
fromPath
required string propath
required string pro
Path is the path of the patch
path
required string pronamePath
required string pro
NamePath is the path to the name of a child resource within Path
namePath
required string pronamespacePath
required string pro
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string provalue
required object pro
Value is the new value to be set to the path
value
required object proregex
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 proconditions
required object[] pro
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] propath
required string pro
Path is the path within the object to select
path
required string prosubPath
required string pro
SubPath is the path below the selected object to select
subPath
required string proequal
required object pro
Equal is the value the path should be equal to
equal
required object pronotEqual
required object pro
NotEqual is the value the path should not be equal to
notEqual
required object proempty
required boolean false pro
Empty means that the path value should be empty or unset
empty
required boolean false proignore
required boolean false pro
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean false proimport
required object[] pro
Imports syncs a resource from the host cluster to virtual cluster
import
required object[] proapiVersion
required string pro
APIVersion of the object to sync
apiVersion
required string prokind
required string pro
Kind of the object to sync
kind
required string prooptional
required boolean false pro
optional
required boolean false proreplaceOnConflict
required boolean false pro
ReplaceWhenInvalid determines if the controller should try to recreate the object
if there is a problem applying
replaceOnConflict
required boolean false propatches
required object[] pro
Patches are the patches to apply on the virtual cluster objects
when syncing them from the host cluster
patches
required object[] proop
required string pro
Operation is the type of the patch
op
required string profromPath
required string pro
FromPath is the path from the other object
fromPath
required string propath
required string pro
Path is the path of the patch
path
required string pronamePath
required string pro
NamePath is the path to the name of a child resource within Path
namePath
required string pronamespacePath
required string pro
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string provalue
required object pro
Value is the new value to be set to the path
value
required object proregex
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 proconditions
required object[] pro
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] propath
required string pro
Path is the path within the object to select
path
required string prosubPath
required string pro
SubPath is the path below the selected object to select
subPath
required string proequal
required object pro
Equal is the value the path should be equal to
equal
required object pronotEqual
required object pro
NotEqual is the value the path should not be equal to
notEqual
required object proempty
required boolean false pro
Empty means that the path value should be empty or unset
empty
required boolean false proignore
required boolean false pro
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean false proreversePatches
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[] proop
required string pro
Operation is the type of the patch
op
required string profromPath
required string pro
FromPath is the path from the other object
fromPath
required string propath
required string pro
Path is the path of the patch
path
required string pronamePath
required string pro
NamePath is the path to the name of a child resource within Path
namePath
required string pronamespacePath
required string pro
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string provalue
required object pro
Value is the new value to be set to the path
value
required object proregex
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 proconditions
required object[] pro
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] propath
required string pro
Path is the path within the object to select
path
required string prosubPath
required string pro
SubPath is the path below the selected object to select
subPath
required string proequal
required object pro
Equal is the value the path should be equal to
equal
required object pronotEqual
required object pro
NotEqual is the value the path should not be equal to
notEqual
required object proempty
required boolean false pro
Empty means that the path value should be empty or unset
empty
required boolean false proignore
required boolean false pro
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean false prohooks
required object pro
Hooks are hooks that can be used to inject custom patches before syncing
hooks
required object prohostToVirtual
required object[] pro
HostToVirtual is a hook that is executed before syncing from the host to the virtual cluster
hostToVirtual
required object[] proapiVersion
required string pro
APIVersion of the object to sync
apiVersion
required string prokind
required string pro
Kind of the object to sync
kind
required string proverbs
required string[] pro
Verbs are the verbs that the hook should mutate
verbs
required string[] propatches
required object[] pro
Patches are the patches to apply on the object to be synced
patches
required object[] proop
required string pro
Operation is the type of the patch
op
required string profromPath
required string pro
FromPath is the path from the other object
fromPath
required string propath
required string pro
Path is the path of the patch
path
required string pronamePath
required string pro
NamePath is the path to the name of a child resource within Path
namePath
required string pronamespacePath
required string pro
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string provalue
required object pro
Value is the new value to be set to the path
value
required object proregex
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 proconditions
required object[] pro
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] propath
required string pro
Path is the path within the object to select
path
required string prosubPath
required string pro
SubPath is the path below the selected object to select
subPath
required string proequal
required object pro
Equal is the value the path should be equal to
equal
required object pronotEqual
required object pro
NotEqual is the value the path should not be equal to
notEqual
required object proempty
required boolean false pro
Empty means that the path value should be empty or unset
empty
required boolean false proignore
required boolean false pro
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean false provirtualToHost
required object[] pro
VirtualToHost is a hook that is executed before syncing from the virtual to the host cluster
virtualToHost
required object[] proapiVersion
required string pro
APIVersion of the object to sync
apiVersion
required string prokind
required string pro
Kind of the object to sync
kind
required string proverbs
required string[] pro
Verbs are the verbs that the hook should mutate
verbs
required string[] propatches
required object[] pro
Patches are the patches to apply on the object to be synced
patches
required object[] proop
required string pro
Operation is the type of the patch
op
required string profromPath
required string pro
FromPath is the path from the other object
fromPath
required string propath
required string pro
Path is the path of the patch
path
required string pronamePath
required string pro
NamePath is the path to the name of a child resource within Path
namePath
required string pronamespacePath
required string pro
NamespacePath is path to the namespace of a child resource within Path
namespacePath
required string provalue
required object pro
Value is the new value to be set to the path
value
required object proregex
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 proconditions
required object[] pro
Conditions are conditions that must be true for
the patch to get executed
conditions
required object[] propath
required string pro
Path is the path within the object to select
path
required string prosubPath
required string pro
SubPath is the path below the selected object to select
subPath
required string proequal
required object pro
Equal is the value the path should be equal to
equal
required object pronotEqual
required object pro
NotEqual is the value the path should not be equal to
notEqual
required object proempty
required boolean false pro
Empty means that the path value should be empty or unset
empty
required boolean false proignore
required boolean false pro
Ignore determines if the path should be ignored if handled as a reverse patch
ignore
required boolean false promultiNamespaceMode
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 proisolatedControlPlane
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 proenabled
required boolean false pro
Enabled specifies if the isolated control plane feature should be enabled.
enabled
required boolean false proheadless
required boolean false pro
Headless states that Helm should deploy the vCluster in headless mode for the isolated control plane.
headless
required boolean false prokubeConfig
required string pro
KubeConfig is the path where to find the remote workload cluster kubeconfig.
kubeConfig
required string pronamespace
required string pro
Namespace is the namespace where to sync the workloads into.
namespace
required string proservice
required string pro
Service is the vCluster service in the remote cluster.
service
required string provirtualClusterKubeConfig
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 prokubeConfig
required string pro
KubeConfig is the virtual cluster kubeconfig path.
kubeConfig
required string proserverCAKey
required string pro
ServerCAKey is the server ca key path.
serverCAKey
required string proserverCACert
required string pro
ServerCAKey is the server ca cert path.
serverCACert
required string proclientCACert
required string pro
ServerCAKey is the client ca cert path.
clientCACert
required string prorequestHeaderCACert
required string pro
RequestHeaderCACert is the request header ca cert path.
requestHeaderCACert
required string prodenyProxyRequests
required object[] pro
DenyProxyRequests denies certain requests in the vCluster proxy.
denyProxyRequests
required object[] proname
required string pro
The name of the check.
name
required string pronamespaces
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[] prorules
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[] proapiGroups
required string[] pro
APIGroups is the API groups the resources belong to. '*' is all groups.
apiGroups
required string[] proapiVersions
required string[] pro
APIVersions is the API versions the resources belong to. '*' is all versions.
apiVersions
required string[] proresources
required string[] pro
Resources is a list of resources this rule applies to.
resources
required string[] proscope
required string pro
Scope specifies the scope of this rule.
scope
required string prooperations
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[] proexcludedUsers
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