Otherix¶
Open-source, self-hosted control plane for managing virtual machines on KVM/QEMU clusters - deployed in your own datacentre or homelab.
Otherix runs VMs on a fleet of bare-metal nodes, each controlled by an Otherix agent that talks to QEMU directly (no libvirt). The control plane keeps the cluster's desired state in an embedded etcd member; agents report observed state through a heartbeat. The split mirrors the Kubernetes pattern: a declarative API, generation / observed-generation bookkeeping, and reconciliation loops - applied to long-lived, stateful VMs instead of stateless containers.
-
Quickstart Bring up a single-node cluster and boot your first VM.
-
Architecture How the control plane, agents, etcd, and data plane fit together.
-
Guides Task-focused how-tos: VMs, networks, pools, nodes, RBAC.
-
Reference CLI, REST API, configuration, RBAC matrix, error codes.
What makes it different¶
VMs are not cattle. Disks persist, identities are stable, and the design follows the workload:
- Created from an image URL - no template entity, no registry. The agent materializes the image into a per-pool cache on first use.
- Live migration is first-class and runs peer-to-peer between agents, with the control plane out of the data path.
- Storage pools, networks, and firmwares are explicit cluster resources, not abstractions over a cloud provider.
- One stateful service. Embedded etcd is the only datastore - no Postgres, no Redis, no external queue.
Who this is for¶
- Operators / SREs standing up and running a cluster - start with Installation and Operations.
- Users creating and managing VMs through the
otherixCLI - start with the Quickstart and the Guides.
Documentation in progress
This site is being built out. Pages marked work in progress are stubs that will be filled in; the Architecture, RBAC matrix, and Scheduler configuration pages already carry full content.