one9s logo

one9s

A terminal user interface for OpenNebula cluster management. Monitor VMs, Hosts and Datastores, manage ACLs and Quotas, perform lifecycle actions, all from your terminal.

Go 1.24+ Bubble Tea TUI OpenNebula XML-RPC API GOCA
$ go build -o one9s ./cmd/one9s
Download GitHub Docs

Why one9s

VM Monitoring

See all VMs with state, user, CPU, memory, IP and host. Filter by active, stopped, poweroff or error states.

Host Management

Enable, disable, offline, rename or delete hosts. Confirmation modals for destructive operations.

Datastores

Monitor storage pools with type, total capacity, used and free space.

ACL Rules

View access control rules with decoded hex values, user, resource, rights and zone in human-readable format.

User Quotas

See VM, CPU, Memory, Running VMs, Images, Size and Leases quotas per user.

Instant Navigation

Zero auto-polling. Data fetched on startup and on F5. Direct line rendering for instant cursor movement.

Philosophy

Pure XML-RPC API

one9s talks to OpenNebula's XML-RPC API via GOCA and nothing else, no SSH, no local CLI commands, no filesystem access.

Portable

A single binary. No OpenNebula CLI installation required on the machine where you run it.

Secure

No shell access needed, only the XML-RPC endpoint must be reachable from your terminal.

Cluster-agnostic

Works against any OpenNebula 7.x installation. Uses the official GOCA library for API compatibility.

If a feature isn't exposed by the OpenNebula XML-RPC API, one9s doesn't attempt to work around it. What you see is exactly what the API provides.

Quick Start

Download

# Linux amd64
curl -LO https://github.com/SergioZ3R0/one9s/releases/latest/download/one9s-linux-amd64.zip
unzip one9s-linux-amd64.zip && chmod +x one9s

Configure

Point it at your OpenNebula endpoint and set credentials

export ONE_AUTH="oneadmin:password"
export ONE_XMLRPC="http://opennebula:2633/RPC2"

Run

./one9s

FAQ

Does one9s need SSH access to the cluster?

No. one9s talks to OpenNebula's XML-RPC API via the GOCA library, so it only needs network access to the API endpoint.

Which OpenNebula versions are supported?

one9s is built against OpenNebula 7.x using the official GOCA library. It should work with any OpenNebula installation that exposes the XML-RPC API.

Is there auto-polling?

No. Data is fetched once on startup and only refreshed when you press F5. This keeps navigation instant with zero background API calls.

Can I manage quotas and ACLs?

Yes. The ACLs tab shows decoded rules (user, resource, rights, zone). The Quotas tab shows per-user quotas for VMs, CPU, Memory, Images and Leases.