Free tools Windows power users keep installed
One-click scans. No signup required.
One configurable plugin can be a useful way to synchronize many Kubernetes resource kinds across a vCluster boundary—but it is not automatically better than vCluster’s built-in custom-resource sync. The right choice depends on resource ownership, whether the API is CRD-backed or aggregated, and whether you need transformations or other per-kind behavior. The Kupe Cloud article describes a generic plugin with those capabilities; its repository and runtime behavior were not independently verified here.
What “one plugin for every kind” means
The proposal is to run one configurable plugin process that handles multiple declared Kubernetes resource kinds, rather than building a separate sync implementation for each kind. The Kupe Cloud article says the plugin supports per-kind direction and mode, reference translation, label and namespace selectors, and status synchronization. Those are claims made by the article, not independently confirmed capabilities or compatibility guarantees.
As an Amazon Associate I earn from qualifying purchases.
That distinction matters because vCluster already supports custom-resource synchronization through built-in fromHost.customResources and toHost.customResources settings. A plugin is most compelling when its claimed transformations or selection behavior solve a concrete requirement that the built-in settings do not meet.
Choose sync direction by deciding who owns the object
| Direction | Ownership and intended use | Important behavior |
|---|---|---|
fromHost |
The control-plane cluster owns the source object; tenant workloads receive a copy. | Use for host-managed resources exposed to tenant workloads. Tenant edits remain local until the corresponding control-plane field changes, when the control-plane value overwrites it. |
toHost |
The tenant cluster owns the object; vCluster mirrors it to the control-plane cluster. | Use when tenant workloads create and manage objects that a control-plane controller or extension API server acts on. |
These behaviors and the restriction below are documented in the vCluster v0.37 Stable custom-resource guide. Do not configure the same resource type in both directions: the guide says from-host sync skips a type already configured for to-host sync.
#1 Best Overall
Check how the API serves the resource
“Custom resource” does not imply one validation or write path. At startup, vCluster resolves each configured resource against the control-plane cluster. A type backed by a CustomResourceDefinition (CRD) is handled differently from a type served by an aggregated API.
CRD-backed types
vCluster copies the CRD into the tenant cluster, including its schema. Tenant API requests are validated against that schema; unknown fields are pruned unless the schema permits them. For to-host sync, writes are applied to the tenant object and synchronized to the control plane asynchronously.
Types served through API aggregation
For an aggregated API, vCluster creates a schemaless CRD in the tenant cluster. The tenant therefore has no copied schema to validate against, and unknown fields are preserved. For to-host create, update, and patch requests, the write passes synchronously through to the extension API server before the tenant request returns. Only the resource and status subresources are available in the tenant cluster; other subresources, such as scale, logs, or exec, are unavailable.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsSynchronous write-through is not a blanket guarantee. Dry runs and subresource requests bypass it, deletion remains asynchronous, and rollback is best-effort. The vCluster guide documents a rollback-failure metric and recommends checking logs and object identity before taking corrective action.
Rank #3
Built-in sync or a generic plugin?
| Decision point | Built-in fromHost / toHost |
Generic plugin described by Kupe Cloud |
|---|---|---|
| Direction and ownership | Provides host-owned copies with from-host sync or tenant-owned objects mirrored outward with to-host sync. | The article claims direction can be configured per kind. Confirm the exact semantics in the plugin’s repository before relying on them. |
| API serving model | Behavior differs for CRD-backed and aggregated types, including schema handling and write timing. | The article’s claims do not establish how the plugin handles either serving model; verify its implementation and supported APIs. |
| Transformations and selection | Use when the built-in sync behavior meets the requirement; the cited guide describes direction and resource configuration. | The article claims reference translation, label and namespace selectors, per-kind modes, and status sync. These can matter when tenant and control-plane objects need more than straightforward mirroring. |
| Trust and compatibility | Uses vCluster’s documented built-in mechanism. | Runs as a plugin with access to both clusters and vCluster’s permissions. The article’s specific compatibility range and runtime behavior were not independently established. |
The Kupe Cloud search result says the author wanted dependency constraints for every tenant cluster that built-in sync and patches did not meet, and found the open-source approaches considered insufficient. It describes the resulting plugin as open source under Apache-2.0 and points to a repository with configuration, examples, and an end-to-end Widget walkthrough. The article page and repository were not independently inspected, so these details should be treated as the article’s account—not proof of release status, test coverage, production readiness, or compatibility with a particular vCluster version.
Plan for startup discovery and configuration changes
Custom-resource resolution happens when vCluster starts. If the control-plane cluster does not serve a configured resource at that time, tenant-cluster startup fails; vCluster retries after a later control-plane pod restart. Enabling or disabling a resource takes effect after a restart or rollout.
Disabling sync stops the syncer, but does not itself delete the CRD, synced objects, or objects created on the control plane. Account for that retained state in any cleanup plan. Version changes can also affect CRD-backed and generated aggregated-resource CRDs differently, so check the version-specific behavior before upgrading or changing configuration.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Review plugin permissions before installing
vCluster describes plugins as Kubernetes operators that can access both the tenant cluster and the control-plane cluster. Its documentation warns that a plugin runs with vCluster’s permissions and may define additional permissions. The custom plugin guide explains that plugins can implement syncers, hooks, and controllers; the plugin configuration guide includes the warning, “Don’t install untrusted plugins.”
Best Value
Before installing any plugin, review its source and release provenance, identify the resources and verbs it uses in each cluster, and confirm compatibility with the vCluster version you run. This is especially important for a plugin that crosses the tenant/control-plane boundary; the general permission warning is not evidence of a specific flaw in the Kupe plugin.
When the built-in predecessor is relevant
The older Loft generic CRD sync plugin is archived; GitHub records its archive date as February 5, 2025. Its README says the functionality moved into vCluster’s fromHost.customResources and toHost.customResources settings. Treat that project as historical context, not as a current maintained recommendation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




