Sharing a project I’ve been building on top of Incus, in case it’s useful to anyone here. In a nutshell, it’s a GUI on top of Incus and much more.
kixctl adds an immutable, git-push application layer over an Incus fabric. A push builds a NixOS image pinned to the commit, imports it over the REST API, and launches it as an immutable instance named <repo>-<sha7> beside the one already running. Rollback swings traffic back to the previous revision, which is still a whole, intact instance — durable state is kept outside the image on purpose.
It only ever speaks the Incus API — a local Unix socket on the appliance, or a restricted, project-scoped TLS client certificate when pointed at a cluster you already run. No host shell, no root, and it never mutates infrastructure it didn’t create; existing networks and profiles are registered by reference. A compromised control plane inherits the project scope and nothing more.
Two front doors: bolt it onto a cluster you already run, or boot the appliance image, which brings its own Incus and a first-run wizard.
It’s v0.1.0, pre-release — the deploy spine is proven on a real cluster, with a bare-metal installer ISO and a packaged bolt-on still ahead. AGPL. Source: github.com/kixago/kixctl.
Mostly I wanted to say thanks — the REST API and restricted certs made this clean to build on. Glad to answer anything, and corrections welcome if I’ve mischaracterized anything about Incus.