vm-operator
Self-service manage your virtual infrastructure...
A Kubernetes API for managing virtual machines
VM Operator brings a declarative, Kubernetes style API to provisioning and managing virtual machines.
What the operator does
VM Operator is a Kubernetes operator that lets you manage virtual machines through a Kubernetes style, declarative API. Instead of treating VMs as something outside the cluster that you configure by hand, it models them as objects you describe in manifests and let the controller reconcile. The README is short and does not enumerate a long feature list, so the honest summary is that the project's stated purpose is to enable management of virtual machines with the same declarative approach used for pods and other Kubernetes resources. The practical benefit is familiarity: a platform team that already drives the rest of its infrastructure through Kubernetes manifests can manage VMs the same way, with the operator handling the translation to the underlying virtualization layer. The README points to an external documentation site, vm-operator.rtfd.io, as the place to learn the details, which is where the API reference and usage examples would live. Because the README itself stays at a high level, a reader should treat the documentation site as the source of truth for concrete capabilities such as how a virtual machine object is defined, what fields it supports, and how the controller behaves when the desired state changes. Treating VMs as first class Kubernetes objects also means they inherit the same access control and auditing that the rest of the cluster already uses.
Community and governance
The project is open about wanting community involvement. The README invites people who are passionate about VMs in Kubernetes, interested in the roadmap, or have ideas to get in touch. It lists several channels. There is a Slack channel, ug-vmware, on the Kubernetes Slack workspace. There is a Google Groups mailing list, vm-operator-dev, for announcements and discussion. Community meetings are held on a regular schedule, and the README links both a public calendar and a Google Meet link for joining, plus a community document where meeting notes and discussion topics are tracked. On the governance side, the README references GOVERNANCE.md for how the project is run and MAINTAINERS.md for the current maintainers, which signals a structured process rather than a single owner making every call. For a potential contributor or adopter, these links are the practical entry points: the mailing list and Slack for questions, the calendar for live discussion, and the governance docs for understanding how decisions are made and who to approach for reviews. For an adopter this matters because a clear governance model makes it easier to predict how a feature request or a bug report will be handled over time. The combination of public meetings and written notes also lowers the barrier for someone who cannot attend every call but still wants to follow the project's direction.
Status and where to look next
The README for VM Operator is deliberately brief, which means most of the substance lives outside it. A reader who clones the repository and expects a long feature walkthrough in the main README will instead find a pointer to the documentation site and the community channels. This is common for operators that keep their detailed guides in a docs build, but it does mean the GitHub page itself tells you little about version support, compatibility with specific Kubernetes releases, or how the operator talks to the virtualization backend. The license is marked NOASSERTION in the metadata, so the actual terms are in the source tree rather than a standard SPDX identifier, and anyone shipping it should read those files. The Go primary language is consistent with the Kubernetes operator ecosystem, where controllers are most often written in Go using the standard operator patterns. For someone evaluating the tool, the next steps are concrete: open the documentation site for the API and examples, join the Slack or mailing list to gauge activity, and check the community calendar for a meeting if a direct conversation would help. The short README is not a sign of a thin project so much as a sign that the project routes its detail elsewhere.
Editorial conclusion
The project is released under a license marked NOASSERTION and is written in Go.
Community notes