Custom Plugins
Overview​
vCluster plugins are Kubernetes operators that can access both the virtual cluster and the host cluster, enabling advanced syncing, resource management, and custom automation. They run inside the vCluster syncer and can define syncers, hooks, or controllers to align resources, modify behavior, or enforce policies across clusters. This dual-cluster access allows plugins to extend vCluster capability beyond what standard operators can do within a single cluster.
You can configure plugins here in vcluster.yaml.
Custom plugins​
Besides the existing vCluster plugins, you can also develop your own vCluster plugins.
If you want to start developing your own vCluster plugins, read about controller-runtime and kube builder, which uses the controller runtime internally.
vCluster provides a SDK for writing plugin controllers that abstracts a lot of the syncer complexity away from the user, but still gives you access to the underlying structures if you need it. Internally, the vCluster SDK uses the controller-runtime project, which is used by vCluster itself to create the controllers. The vCluster SDK lets you write custom plugin controllers with just a few lines of code.
Since the plugin SDK interfaces are mostly compatible with the vCluster syncers, you can also take a look at how those are implemented in the vCluster itself, which work in most cases the same way as if those would be implemented in a plugin. It would be even possible to reimplement all vCluster syncers in a separate plugin.