Proxmox VE is a solid piece of software. It does exactly what it was built for: virtualization on a host or in a cluster. But as soon as multiple clusters are involved, day-to-day work gets tedious.
The problem starts with the second host
With the first host you don't notice anything. With the second you open a second tab. By the fourth you have a bookmarks bar full of web interfaces, four sessions that expire at different speeds, and no shared view of utilization, backups or free addresses.
On top of that there's the API. It's complete, but it's not pleasant. If you want to automate provisioning, you end up writing your own intermediate layer. At some point I had exactly that intermediate layer lying around three times, in varying quality.
What I wanted instead
The requirements were short:
- One interface for all hosts, regardless of cluster
- An API you can understand in an afternoon
- Customers can see their own servers, but only their own
- Plans, quotas and expiry should be enforced automatically
- No changes to the existing Proxmox installation
The last point was the most important. A panel that requires a reinstall is worthless in live operation.
How it runs today
NexoVirt connects via SSH to a lightweight agent and reads out the state of the nodes. The interface shows guests, storage, networks and backups across all clusters. All actions run asynchronously, so the interface doesn't block while a clone is running in the background.
The REST API covers the complete lifecycle. If you like, you can run the panel purely as a view and control everything through automation.
What it has turned into is described in detail on the project page.
