A Nutanix TUI in Rust · Prism Central v4 · ratatui

Nutanix in your terminal.

Nutsh is a keyboard-first interface for browsing and operating Prism Central. Switch environments, inspect resources, follow relationships, and run guarded actions through one generic v4 API pipeline.

Linux + macOSx86_64 + ARM64pre-release
nutsh · production live
╭ nutsh ─────────────────────────────────────────────────────────────────────────────────────╮
│ Context:    production                                      ⏎ drill        y detail       │     clusters 3  hosts 24
│ PC:         prism.example.test  pc.7.6                       S sort         w wide         │         vms 418  on/off 401/17
│ Cluster:    dc-west                                         ←→ columns     ^r refresh      │      alerts ⚠ 3  ✖ 1
│ Kind:       Compute & Storage › VMs                          : palette      ? help         │       tasks ▶ 2 running
│ Count:      4                                               ^b menu        ^c quit         │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
╭ nutsh ───────────────╮╭ Virtual Machines [4] ───────────────────────────────────────────────────────────────╮
│  ▸ Dashboard         ││  NAME                         POWER  CLUSTER   HOST      IP              MEM          │
│  ▾ Compute & Storage ││▌ api-prod-01                  ON     dc-west   ahv-01    10.42.8.21     8 GiB        │
│    • VMs [4]         ││  api-prod-02                  ON     dc-west   ahv-02    10.42.8.22     8 GiB        │
│      Templates       ││  billing-worker               OFF    dc-west   -         -               4 GiB        │
│      Images          ││  reports-db                   ON     dc-west   ahv-03    10.42.8.40     32 GiB       │
│      Storage         ││                                                                                     │
│  ▸ Network           ││                                                                                     │
│  ▸ Data Protection   ││                                                                                     │
│  ▸ Monitoring        ││                                                                                     │
╰──────────────────────╯╰─────────────────────────────────────────────────────────────────────────────────────╯
 :palette  ^b:menu  tab:focus  S:sort  w:wide  ⏎:drill  ?:help                         ● live

Synthetic data, rendered as selectable text. A short real-session demo will replace this frame.

Built for daily work across several Nutanix environments.

I manage multiple Nutanix environments and wanted a terminal interface that matched the way I already work. Nutsh started there: quick context switching, useful resource views, and direct navigation without moving UUIDs between screens.

The goal is practical infrastructure work from the terminal, with enough local safeguards to keep speed deliberate.

Keyboard-first, API-native.

:

Any catalog kind

Open resource kinds by name or alias from one command palette. Curated views cover common operations; the generic renderer covers the rest.

:ctx

Multiple environments

Keep Prism Central contexts with their own TLS, cluster scope, read-only policy, and credentials.

enter

Resource relationships

Drill from a row into its child kinds and resolve referenced identifiers to useful names.

a

Guarded actions

Permission checks, read-only sessions, confirmation levels, bulk limits, ETags, and a local action journal surround mutations.

--check

Namespace negotiation

Probe the v4 namespaces a Prism Central serves and step down to compatible API versions where required.

--snapshot

Useful outside the TUI

Render one deterministic frame to stdout for scripts, CI jobs, documentation, and incident notes.

One binary, direct to Prism Central.

catalogOpenAPI → generated resource and action metadata
transportreqwest · rustls · Basic auth · ETag · rate limits
runtimetokio tasks · bounded polling · local cache
interfaceratatui · crossterm · no browser backend
secretsmacOS Keychain or private local store

Install Nutsh

Prebuilt binaries are planned for Linux and macOS on x86_64 and ARM64. Package channels remain inactive until the first release passes clean-machine tests.

homebrew · planned$ brew install Fen0l/tap/nutsh
cargo · planned$ cargo install nutsh