Last week, Admiralty open-sourced multicluster-controller, a Go library for building… multi-cluster controllers (also known as operators).
Check out the introduction blog post (the why?) and the project on GitHub (the how?).
Multicluster-controller is the equivalent of operator-sdk or kubebuilder, but for multiple cluster. It’s actually a thin layer around parts of controller-runtime, the library that powers kubebuilder. It can be used to control custom resources (defined by CRDs) across clusters.
We’ve been using multicluster-controller successfully as a building block for hybrid and multi-cloud applications, and we hope that the community will find it useful too.