Sync to host from virtual
Read more about how syncing works before deciding which resources to sync from the virtual cluster to the host cluster.
vCluster syncs specific Kubernetes resources from the virtual cluster to the host cluster. These resources are expected to be created and updated within the virtual cluster. In addition to standard Kubernetes resources, custom resources can also be synced if configured.
Enabled by default
The following resources are synced by default.
Disabled by default
The following resources are not synced by default. You can explicitly enable them in your vcluster.yaml configuration.
- CustomResources
- Ingresses
- NetworkPolicies
- PersistentVolumes
- VolumeSnapshots
- StorageClasses
- ServiceAccounts
- PodDisruptionBudgets
- PriorityClasses
- Namespaces
Added by the virtual cluster
When syncing objects from the virtual cluster to the host cluster, the virtual cluster adds management labels to the host-side objects.
In the default (single-namespace) mode, the following labels are added:
releasevcluster.loft.sh/namespacevcluster.loft.sh/managed-byvcluster.loft.sh/controlled-by
If sync.toHost.namespaces.enabled is true (multi-namespace sync), the virtual cluster does not add the release label. Only the vcluster.loft.sh/* labels are applied.
Bidirectional syncing
For all resources synced from the virtual cluster to the host cluster, metadata.labels and metadata.annotations are synchronized in both directions.
This means changes made in the virtual cluster are reflected in the host cluster, and changes made in the host cluster are also reflected in the virtual cluster.
Any labels prefixed with vcluster.loft.sh on the host resources should not be updated by the user. These labels are managed by the vCluster control plane to track resources and prevent conflicts.
Additional fields that support bidirectional sync
All metadata.labels and metadata.annotations are bidirectionally synced for resources synced from the virtual cluster to the host cluster.
In addition to these fields, vCluster also supports bidirectional syncing for the following resource-specific fields:
| Resource | Fields |
|---|---|
| Pods |
|
| Secrets |
|
| ConfigMaps |
|
| Services |
|
| Ingresses |
|
| PersistentVolumes |
|
| StorageClass |
|
Config reference
toHost required object
Configure resources to sync from the virtual cluster to the host cluster.
toHost required object pods required object
Pods defines if pods created within the virtual cluster should get synced to the host cluster.
pods required object enabled required boolean true
Enabled defines if pod syncing should be enabled.
enabled required boolean true translateImage required object {}
TranslateImage maps an image to another image that should be used instead. For example this can be used to rewrite
a certain image that is used within the virtual cluster to be another image on the host cluster
translateImage required object {} enforceTolerations required string[] []
EnforceTolerations will add the specified tolerations to all pods synced by the virtual cluster.
enforceTolerations required string[] [] useSecretsForSATokens required boolean false
UseSecretsForSATokens will use secrets to save the generated service account tokens by virtual cluster instead of using a
pod annotation.
useSecretsForSATokens required boolean false runtimeClassName required string
RuntimeClassName is the runtime class to set for synced pods.
runtimeClassName required string priorityClassName required string
PriorityClassName is the priority class to set for synced pods.
priorityClassName required string rewriteHosts required object
RewriteHosts is a special option needed to rewrite statefulset containers to allow the correct FQDN. virtual cluster will add
a small container to each stateful set pod that will initially rewrite the /etc/hosts file to match the FQDN expected by
the virtual cluster.
rewriteHosts required object enabled required boolean true
Enabled specifies if rewriting stateful set pods should be enabled.
enabled required boolean true initContainer required object
InitContainer holds extra options for the init container used by vCluster to rewrite the FQDN for stateful set pods.
initContainer required object image required object
Image is the image virtual cluster should use to rewrite this FQDN.
image required object registry required string mirror.gcr.io
Registry is the registry of the container image, e.g. my-registry.com or ghcr.io. This setting can be globally
overridden via the controlPlane.advanced.defaultImageRegistry option. Empty means docker hub.
registry required string mirror.gcr.io repository required string library/alpine
Repository is the repository of the container image, e.g. my-repo/my-image
repository required string library/alpine tag required string 3.20
Tag is the tag of the container image, and is the default version.
tag required string 3.20 resources required object
Resources are the resources that should be assigned to the init container for each stateful set init container.
resources required object patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object hybridScheduling required object
HybridScheduling is used to enable and configure hybrid scheduling for pods in the virtual cluster.
hybridScheduling required object secrets required object
Secrets defines if secrets created within the virtual cluster should get synced to the host cluster.
secrets required object enabled required boolean true
Enabled defines if this option should be enabled.
enabled required boolean true all required boolean false
All defines if all resources of that type should get synced or only the necessary ones that are needed.
all required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object configMaps required object
ConfigMaps defines if config maps created within the virtual cluster should get synced to the host cluster.
configMaps required object enabled required boolean true
Enabled defines if this option should be enabled.
enabled required boolean true all required boolean false
All defines if all resources of that type should get synced or only the necessary ones that are needed.
all required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object ingresses required object
Ingresses defines if ingresses created within the virtual cluster should get synced to the host cluster.
ingresses required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object services required object
Services defines if services created within the virtual cluster should get synced to the host cluster.
services required object enabled required boolean true
Enabled defines if this option should be enabled.
enabled required boolean true patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object endpoints required object
Endpoints defines if endpoints created within the virtual cluster should get synced to the host cluster.
endpoints required object enabled required boolean true
Enabled defines if this option should be enabled.
enabled required boolean true patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object endpointSlices required object
EndpointSlices defines if endpointslices created within the virtual cluster should get synced to the host cluster.
endpointSlices required object enabled required boolean true
Enabled defines if this option should be enabled.
enabled required boolean true patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object networkPolicies required object
NetworkPolicies defines if network policies created within the virtual cluster should get synced to the host cluster.
networkPolicies required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object persistentVolumeClaims required object
PersistentVolumeClaims defines if persistent volume claims created within the virtual cluster should get synced to the host cluster.
persistentVolumeClaims required object enabled required boolean true
Enabled defines if this option should be enabled.
enabled required boolean true patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object persistentVolumes required object
PersistentVolumes defines if persistent volumes created within the virtual cluster should get synced to the host cluster.
persistentVolumes required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object volumeSnapshots required object
VolumeSnapshots defines if volume snapshots created within the virtual cluster should get synced to the host cluster.
volumeSnapshots required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object volumeSnapshotContents required object
VolumeSnapshotContents defines if volume snapshot contents created within the virtual cluster should get synced to the host cluster.
volumeSnapshotContents required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object storageClasses required object
StorageClasses defines if storage classes created within the virtual cluster should get synced to the host cluster.
storageClasses required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object serviceAccounts required object
ServiceAccounts defines if service accounts created within the virtual cluster should get synced to the host cluster.
serviceAccounts required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object podDisruptionBudgets required object
PodDisruptionBudgets defines if pod disruption budgets created within the virtual cluster should get synced to the host cluster.
podDisruptionBudgets required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object priorityClasses required object
PriorityClasses defines if priority classes created within the virtual cluster should get synced to the host cluster.
priorityClasses required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object customResources required {key: object}
CustomResources defines what custom resources should get synced from the virtual cluster to the host cluster. vCluster will copy the definition automatically from host cluster to virtual cluster on startup.
vCluster will also automatically add any required RBAC permissions to the vCluster role for this to work.
customResources required {key: object} enabled required boolean
Enabled defines if this option should be enabled.
enabled required boolean scope required string
Scope defines the scope of the resource. If undefined, will use Namespaced. Currently only Namespaced is supported.
scope required string patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object namespaces required object
Namespaces defines if namespaces created within the virtual cluster should get synced to the host cluster.
namespaces required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object mappings required object
Mappings for Namespace and Object
mappings required object byName required object
ByName is a map of host-object-namespace/host-object-name: virtual-object-namespace/virtual-object-name.
There are several wildcards supported:
- To match all objects in host namespace and sync them to different namespace in vCluster:
byName:
"foo/": "foo-in-virtual/"
- To match specific object in the host namespace and sync it to the same namespace with the same name:
byName:
"foo/my-object": "foo/my-object"
- To match specific object in the host namespace and sync it to the same namespace with different name:
byName:
"foo/my-object": "foo/my-virtual-object"
- To match all objects in the vCluster host namespace and sync them to a different namespace in vCluster:
byName:
"": "my-virtual-namespace/*"
- To match specific objects in the vCluster host namespace and sync them to a different namespace in vCluster:
byName:
"/my-object": "my-virtual-namespace/my-object"
byName required object mappingsOnly required boolean false
MappingsOnly defines if creation of namespaces not matched by mappings should be allowed.
mappingsOnly required boolean false extraLabels required object
ExtraLabels are additional labels to add to the namespace in the host cluster.
extraLabels required object resourceClaims required object
ResourceClaim defines if resource claims created within the virtual cluster should get synced to the host cluster.
resourceClaims required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object resourceClaimTemplates required object
ResourceClaimTemplates defines if resourceClaimTemplates created within the virtual cluster should get synced to the host cluster.
resourceClaimTemplates required object enabled required boolean false
Enabled defines if this option should be enabled.
enabled required boolean false patches required object[]
Patches patch the resource according to the provided specification.
patches required object[] path required string
Path is the path within the patch to target. If the path is not found within the patch, the patch is not applied.
path required string expression required string
Expression transforms the value according to the given JavaScript expression.
expression required string reverseExpression required string
ReverseExpression transforms the value according to the given JavaScript expression.
reverseExpression required string reference required object
Reference treats the path value as a reference to another object and will rewrite it based on the chosen mode
automatically. In single-namespace mode this will translate the name to "vxxxxxxxxx" to avoid conflicts with
other names, in multi-namespace mode this will not translate the name.
reference required object apiVersion required string
APIVersion is the apiVersion of the referenced object.
apiVersion required string apiVersionPath required string
APIVersionPath is optional relative path to use to determine the kind. If APIVersionPath is not found, will fallback to apiVersion.
apiVersionPath required string kind required string
Kind is the kind of the referenced object.
kind required string kindPath required string
KindPath is the optional relative path to use to determine the kind. If KindPath is not found, will fallback to kind.
kindPath required string namePath required string
NamePath is the optional relative path to the reference name within the object.
namePath required string namespacePath required string
NamespacePath is the optional relative path to the reference namespace within the object. If omitted or not found, namespacePath equals to the
metadata.namespace path of the object.
namespacePath required string labels required object
Labels treats the path value as a labels selector.
labels required object