f51aff3db5da677616246e412a385bf71075615e
List VMs and LXC containers from the current cv4pve-cli context and start, shutdown, stop and reboot them, change cores and memory, and grow disks. The app shells out to `cv4pve-cli -o json` and stores no credentials. - Every mutating call uses --wait: without it cv4pve-cli exits 0 even when the task fails. - shutdown, stop and reboot need confirmation; disk growth is increment-only and asks again because it cannot be undone. - After an action the acted-on guest's status is read from status/current, because /cluster/resources lags a few seconds. - Notifies when a cores/memory change is pending until reboot. Tests mock cv4pve-cli (85 tests). Live-tested edit, shutdown, start and reboot on CT 104 (mainframe), restored afterwards; disk resize was not run live. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cv4pve-cli-tui
Textual TUI for cv4pve-cli: list Proxmox VE guests (VMs and LXC), start/shutdown/stop/reboot them, and change cores, memory and disk size.
It shells out to cv4pve-cli and uses its current context (cv4pve-cli config use <name>);
it stores no credentials itself. Tested with cv4pve-cli 2.4.0.
Run
uv run cv4pve-tui
| Key | Action |
|---|---|
s |
start |
S |
shutdown (confirm) |
x |
stop - hard power-off (confirm) |
r |
reboot (confirm) |
e |
edit cores / memory / grow a disk (disk growth asks again; it cannot be undone) |
g |
refresh |
q |
quit |
Empty fields in the edit dialog are left unchanged. If a CPU/memory change cannot be hot-plugged, the app tells you it applies at the next reboot.
Development
uv sync
uv run pytest
Tests mock cv4pve-cli; they never touch a cluster. Design: docs/plans/guest-tui-mvp.md.
Languages
Python
98.1%
Shell
1.9%