# Sync describes how to sync resources from the virtual cluster to host cluster and back. sync: # Configure resources to sync from the virtual cluster to the host cluster. toHost: # Services defines if services created within the virtual cluster should get synced to the host cluster. services: # Enabled defines if this option should be enabled. enabled: true # Endpoints defines if endpoints created within the virtual cluster should get synced to the host cluster. endpoints: # Enabled defines if this option should be enabled. enabled: true # PersistentVolumeClaims defines if persistent volume claims created within the virtual cluster should get synced to the host cluster. persistentVolumeClaims: # Enabled defines if this option should be enabled. enabled: true # ConfigMaps defines if config maps created within the virtual cluster should get synced to the host cluster. configMaps: enabled: true # All defines if all resources of that type should get synced or only the necessary ones that are needed. all: false # Secrets defines if secrets created within the virtual cluster should get synced to the host cluster. secrets: enabled: true # All defines if all resources of that type should get synced or only the necessary ones that are needed. all: false # Pods defines if pods created within the virtual cluster should get synced to the host cluster. pods: # Enabled defines if pod syncing should be enabled. enabled: true # 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: {} # EnforceTolerations will add the specified tolerations to all pods synced by the virtual cluster. enforceTolerations: [] # UseSecretsForSATokens will use secrets to save the generated service account tokens by virtual cluster instead of using a # pod annotation. useSecretsForSATokens: false # 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: # Enabled specifies if rewriting stateful set pods should be enabled. enabled: true # InitContainer holds extra options for the init container used by vCluster to rewrite the FQDN for stateful set pods. initContainer: # Image is the image virtual cluster should use to rewrite this FQDN. image: "library/alpine:3.20" # Resources are the resources that should be assigned to the init container for each stateful set init container. resources: # Limits are resource limits for the container limits: cpu: 30m memory: 64Mi # Requests are minimal resources that will be consumed by the container requests: cpu: 30m memory: 64Mi # Ingresses defines if ingresses created within the virtual cluster should get synced to the host cluster. ingresses: # Enabled defines if this option should be enabled. enabled: false # PriorityClasses defines if priority classes created within the virtual cluster should get synced to the host cluster. priorityClasses: # Enabled defines if this option should be enabled. enabled: false # NetworkPolicies defines if network policies created within the virtual cluster should get synced to the host cluster. networkPolicies: # Enabled defines if this option should be enabled. enabled: false # VolumeSnapshots defines if volume snapshots created within the virtual cluster should get synced to the host cluster. volumeSnapshots: # Enabled defines if this option should be enabled. enabled: false # VolumeSnapshotContents defines if volume snapshot contents created within the virtual cluster should get synced to the host cluster. volumeSnapshotContents: # Enabled defines if this option should be enabled. enabled: false # PodDisruptionBudgets defines if pod disruption budgets created within the virtual cluster should get synced to the host cluster. podDisruptionBudgets: # Enabled defines if this option should be enabled. enabled: false # ServiceAccounts defines if service accounts created within the virtual cluster should get synced to the host cluster. serviceAccounts: # Enabled defines if this option should be enabled. enabled: false # StorageClasses defines if storage classes created within the virtual cluster should get synced to the host cluster. storageClasses: # Enabled defines if this option should be enabled. enabled: false # PersistentVolumes defines if persistent volumes created within the virtual cluster should get synced to the host cluster. persistentVolumes: # Enabled defines if this option should be enabled. enabled: false # Configure what resources vCluster should sync from the host cluster to the virtual cluster. fromHost: # Events defines if events should get synced from the host cluster to the virtual cluster, but not back. events: # Enabled defines if this option should be enabled. enabled: true # CSIDrivers defines if csi drivers should get synced from the host cluster to the virtual cluster, but not back. If auto, is automatically enabled when the virtual scheduler is enabled. csiDrivers: # Enabled defines if this option should be enabled. enabled: auto # CSINodes defines if csi nodes should get synced from the host cluster to the virtual cluster, but not back. If auto, is automatically enabled when the virtual scheduler is enabled. csiNodes: # Enabled defines if this option should be enabled. enabled: auto # CSIStorageCapacities defines if csi storage capacities should get synced from the host cluster to the virtual cluster, but not back. If auto, is automatically enabled when the virtual scheduler is enabled. csiStorageCapacities: # Enabled defines if this option should be enabled. enabled: auto # StorageClasses defines if storage classes should get synced from the host cluster to the virtual cluster, but not back. If auto, is automatically enabled when the virtual scheduler is enabled. storageClasses: # Enabled defines if this option should be enabled. enabled: auto # IngressClasses defines if ingress classes should get synced from the host cluster to the virtual cluster, but not back. ingressClasses: # Enabled defines if this option should be enabled. enabled: false # RuntimeClasses defines if runtime classes should get synced from the host cluster to the virtual cluster, but not back. runtimeClasses: # Enabled defines if this option should be enabled. enabled: false # PriorityClasses defines if priority classes classes should get synced from the host cluster to the virtual cluster, but not back. priorityClasses: # Enabled defines if this option should be enabled. enabled: false # Nodes defines if nodes should get synced from the host cluster to the virtual cluster, but not back. nodes: # Enabled specifies if syncing real nodes should be enabled. If this is disabled, vCluster will create fake nodes instead. enabled: false # SyncBackChanges enables syncing labels and taints from the virtual cluster to the host cluster. If this is enabled someone within the virtual cluster will be able to change the labels and taints of the host cluster node. syncBackChanges: false # ClearImageStatus will erase the image status when syncing a node. This allows to hide images that are pulled by the node. clearImageStatus: false # Selector can be used to define more granular what nodes should get synced from the host cluster to the virtual cluster. selector: # All specifies if all nodes should get synced by vCluster from the host to the virtual cluster or only the ones where pods are assigned to. all: false labels: {} # VolumeSnapshotClasses defines if volume snapshot classes created within the virtual cluster should get synced to the host cluster. volumeSnapshotClasses: # Enabled defines if this option should be enabled. enabled: false # Configure vCluster's control plane components and deployment. controlPlane: # Distro holds virtual cluster related distro options. A distro cannot be changed after vCluster is deployed. distro: # K8S holds K8s relevant configuration. k8s: # Enabled specifies if the K8s distro should be enabled. Only one distro can be enabled at the same time. enabled: false # Version specifies k8s components (scheduler, kube-controller-manager & apiserver) version. # It is a shortcut for controlPlane.distro.k8s.apiServer.image.tag, # controlPlane.distro.k8s.controllerManager.image.tag and # controlPlane.distro.k8s.scheduler.image.tag # If e.g. controlPlane.distro.k8s.version is set to v1.30.1 and # controlPlane.distro.k8s.scheduler.image.tag # (or controlPlane.distro.k8s.controllerManager.image.tag or controlPlane.distro.k8s.apiServer.image.tag) # is set to v1.31.0, # value from controlPlane.distro.k8s..image.tag will be used # (where