one9s -TUI for OpenNebula - Monitor VMs, Hosts, Datastores, manage ACLs & Quotas from your terminal
See the code
Terminal UI for OpenNebula cluster management
Monitor VMs, Hosts, Datastores, Manage ACLs and Quotas from your terminal
one9s.scszero.com |
Documentation
one9s is a TUI (terminal user interface) for managing and monitoring
OpenNebula clusters directly from your terminal, inspired by
k9s and
lazygit.
No Sunstone web UI. No Ruby CLI dependencies. Just a single binary that talks to the OpenNebula XML-RPC API.
https://github.com/user-attachments/assets/d30f232b-1ae5-4170-a2b8-efb1c4ba4879
/ key for instant filtering on all tabs.curl -LO https://github.com/SergioZ3R0/one9s/releases/latest/download/one9s-linux-amd64.zip
unzip one9s-linux-amd64.zip
chmod +x one9s
mkdir -p ~/.one9s
cat > ~/.one9s/config << 'EOF'
ONE_XMLRPC=http://opennebula:2633/RPC2
ONE_AUTH=oneadmin:password
EOF
chmod 600 ~/.one9s/config
Or as a one-liner:
ONE_AUTH="oneadmin:password" ONE_XMLRPC="http://opennebula:2633/RPC2" ./one9s
Store credentials encrypted with AES-256-GCM:
# Create encrypted vault
one9s vault init
# Run (prompts for vault password)
./one9s
# Or skip vault with direct env vars (no password prompt)
ONE_AUTH="oneadmin:password" ONE_XMLRPC="http://opennebula:2633/RPC2" ./one9s
Vault commands:
| Command | Description |
|---|---|
one9s vault init | Create new encrypted config |
one9s vault encrypt | Encrypt existing plain config |
one9s vault decrypt | Decrypt and display contents |
Vault password can be set via ONE_VAULT_PASS env var to skip the prompt.
./one9s
| Key | Action |
|---|---|
tab / shift+tab | Next / previous tab |
↑/↓ / j/k | Navigate rows |
PgUp/PgDn / b/f | Page up / page down |
g/G | Go to start / end |
enter | View details (VMs/Hosts split view) |
/ | Fuzzy search |
F5 | Refresh current view |
? | Help |
| Key | Action | Valid States |
|---|---|---|
r | Reboot | ACTIVE |
s | Stop | ACTIVE |
u | Resume/Start | POWEROFF, SUSPENDED, STOPPED, UNDEPLOYED |
x | Suspend | ACTIVE |
d | Terminate (hard) | Any (with confirmation) |
| Key | Filter |
|---|---|
a | All VMs |
i | Active only |
o | Stopped only |
p | Poweroff only |
e | Error only |
| Key | Action |
|---|---|
e | Enable host |
d | Disable host |
o | Offline host (confirmation required) |
x | Delete host (type yes to confirm) |
n | Rename host (type new name) |
| Key | Action |
|---|---|
e | Edit user quota (form modal with VMs, CPU, Memory, etc.) |
one9s requires appropriate OpenNebula permissions. If an action fails due to insufficient permissions, you'll see a clear message like "permission denied: requires VM:MANAGE".
| Action | Required Permission |
|---|---|
| View VMs, Hosts, Datastores, ACLs | VM:USE, HOST:USE, DS:USE, ACL:USE |
| Reboot, Stop, Suspend, Resume VM | VM:MANAGE |
| Terminate VM | VM:ADMIN |
| Enable/Disable/Offline Host | HOST:ADMIN |
| Delete/Rename Host | HOST:ADMIN |
| Edit Quotas | Quota:ADMIN |
76 commits
Go
99.2%
one9s -TUI for OpenNebula - Monitor VMs, Hosts, Datastores, manage ACLs & Quotas from your terminal
See the code
Terminal UI for OpenNebula cluster management
Monitor VMs, Hosts, Datastores, Manage ACLs and Quotas from your terminal
one9s.scszero.com |
Documentation
one9s is a TUI (terminal user interface) for managing and monitoring
OpenNebula clusters directly from your terminal, inspired by
k9s and
lazygit.
No Sunstone web UI. No Ruby CLI dependencies. Just a single binary that talks to the OpenNebula XML-RPC API.
https://github.com/user-attachments/assets/d30f232b-1ae5-4170-a2b8-efb1c4ba4879
/ key for instant filtering on all tabs.curl -LO https://github.com/SergioZ3R0/one9s/releases/latest/download/one9s-linux-amd64.zip
unzip one9s-linux-amd64.zip
chmod +x one9s
mkdir -p ~/.one9s
cat > ~/.one9s/config << 'EOF'
ONE_XMLRPC=http://opennebula:2633/RPC2
ONE_AUTH=oneadmin:password
EOF
chmod 600 ~/.one9s/config
Or as a one-liner:
ONE_AUTH="oneadmin:password" ONE_XMLRPC="http://opennebula:2633/RPC2" ./one9s
Store credentials encrypted with AES-256-GCM:
# Create encrypted vault
one9s vault init
# Run (prompts for vault password)
./one9s
# Or skip vault with direct env vars (no password prompt)
ONE_AUTH="oneadmin:password" ONE_XMLRPC="http://opennebula:2633/RPC2" ./one9s
Vault commands:
| Command | Description |
|---|---|
one9s vault init | Create new encrypted config |
one9s vault encrypt | Encrypt existing plain config |
one9s vault decrypt | Decrypt and display contents |
Vault password can be set via ONE_VAULT_PASS env var to skip the prompt.
./one9s
| Key | Action |
|---|---|
tab / shift+tab | Next / previous tab |
↑/↓ / j/k | Navigate rows |
PgUp/PgDn / b/f | Page up / page down |
g/G | Go to start / end |
enter | View details (VMs/Hosts split view) |
/ | Fuzzy search |
F5 | Refresh current view |
? | Help |
| Key | Action | Valid States |
|---|---|---|
r | Reboot | ACTIVE |
s | Stop | ACTIVE |
u | Resume/Start | POWEROFF, SUSPENDED, STOPPED, UNDEPLOYED |
x | Suspend | ACTIVE |
d | Terminate (hard) | Any (with confirmation) |
| Key | Filter |
|---|---|
a | All VMs |
i | Active only |
o | Stopped only |
p | Poweroff only |
e | Error only |
| Key | Action |
|---|---|
e | Enable host |
d | Disable host |
o | Offline host (confirmation required) |
x | Delete host (type yes to confirm) |
n | Rename host (type new name) |
| Key | Action |
|---|---|
e | Edit user quota (form modal with VMs, CPU, Memory, etc.) |
one9s requires appropriate OpenNebula permissions. If an action fails due to insufficient permissions, you'll see a clear message like "permission denied: requires VM:MANAGE".
| Action | Required Permission |
|---|---|
| View VMs, Hosts, Datastores, ACLs | VM:USE, HOST:USE, DS:USE, ACL:USE |
| Reboot, Stop, Suspend, Resume VM | VM:MANAGE |
| Terminate VM | VM:ADMIN |
| Enable/Disable/Offline Host | HOST:ADMIN |
| Delete/Rename Host | HOST:ADMIN |
| Edit Quotas | Quota:ADMIN |
76 commits
Go
99.2%