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.
A Nutanix TUI in Rust · Prism Central v4 · ratatui
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.
╭ 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.
:story
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.
:features
Open resource kinds by name or alias from one command palette. Curated views cover common operations; the generic renderer covers the rest.
Keep Prism Central contexts with their own TLS, cluster scope, read-only policy, and credentials.
Drill from a row into its child kinds and resolve referenced identifiers to useful names.
Permission checks, read-only sessions, confirmation levels, bulk limits, ETags, and a local action journal surround mutations.
Probe the v4 namespaces a Prism Central serves and step down to compatible API versions where required.
Render one deterministic frame to stdout for scripts, CI jobs, documentation, and incident notes.
:internals
:install
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.
$ brew install Fen0l/tap/nutsh$ cargo install nutsh