A keyboard-driven terminal UI for Talos Linux clusters.
Installation ·
Features ·
Keybindings ·
Configuration ·
License
lazytalos is a fast, keyboard-first TUI for managing Talos Linux clusters from the terminal. It follows the "lazy" convention (lazygit, lazydocker, lazystack) to provide an intuitive alternative to talosctl and the built-in Talos dashboard.
Single binary. No runtime dependencies. Reads your standard talosconfig.
- Cluster dashboard -- dot-matrix node health overview, service status matrix, diagnostics, and event stream across all nodes
- Node management -- list all nodes with type, version, health, CPU, memory bars, and uptime; bulk-select with
Space for multi-node operations; detail view with live log streaming
- Service management -- flat or group-by-node service listing with state, health, and event history; restart services with confirmation
- Multi-node log viewer -- merged streaming logs from multiple nodes and services simultaneously, with per-node color coding and follow mode
- Container view -- running containers across all nodes
- Network view -- network interfaces, addresses, and routes per node
- Storage view -- disk and volume information per node
- etcd view -- etcd cluster member listing with health and leader status
- Cluster upgrade wizard -- rolling upgrade with pause/abort, health checks between nodes
- Context picker -- read all contexts from
talosconfig; auto-connect when only one exists, or pick interactively
- Settings overlay (
Ctrl+K) -- configure refresh interval, colors, thresholds, keybindings; persisted to ~/.config/lazytalos/config.yaml
- Configurable thresholds -- memory warning/critical and CPU warning percentages for bar coloring
- Auto-update check -- checks GitHub for new releases (configurable interval, cached to disk)
- Destructive-op safety -- reboot, shutdown, reset, and service restart require confirmation modals; control plane nodes trigger extra warnings
- Auto-refresh -- all views refresh in the background at a configurable interval
Grab the latest release for your platform from the releases page.
sudo dpkg -i lazytalos_*.deb
sudo rpm -i lazytalos-*.rpm
sudo pacman -U lazytalos-*.pkg.tar.zst
go install github.com/larkly/lazytalos/cmd/lazytalos@latest
- Go 1.24+ (build only)
- A Talos Linux cluster (v1.x+)
- A valid
talosconfig
lazytalos reads talosconfig from these locations (first match wins):
--talosconfig flag
$TALOSCONFIG environment variable
~/.talos/config
No additional configuration is needed. If only one context is defined, lazytalos connects automatically.
Press Ctrl+K to open the settings overlay. Changes are applied immediately and saved to ~/.config/lazytalos/config.yaml. Categories:
- General -- refresh interval, plain mode, update checking
- Thresholds -- memory warning/critical %, CPU warning % (controls bar and dot-matrix coloring)
- Colors -- full Solarized Dark palette customization with hex colors and live preview
- Keybindings -- press-to-bind key remapping
CLI flags override the config file.
| Flag |
Default |
Description |
--talosconfig PATH |
$TALOSCONFIG or ~/.talos/config |
Path to talosconfig file |
--context NAME |
|
Connect directly to named context, skip picker |
--pick-context |
false |
Always show context picker, even with one context |
--refresh N |
5 |
Auto-refresh interval in seconds |
--plain |
false |
Disable Unicode status icons |
--debug |
false |
Write debug log to ~/.cache/lazytalos/debug.log |
--no-update-check |
false |
Disable startup update check |
--update-check-interval N |
24 |
Hours between GitHub API update checks (0 = every launch) |
--version |
|
Print version and exit |
| Key |
Action |
q / Ctrl+C |
Quit |
1--8 / Left / Right |
Switch tab (Dashboard, Nodes, Services, Logs, Containers, Network, Storage, etcd) |
[ / < / ] / > |
Previous / next sub-tab (Network, Storage, etcd views) |
C |
Switch context |
? |
Help overlay |
Ctrl+K |
Settings overlay |
Ctrl+, |
View talosconfig contexts |
Ctrl+R |
Force refresh |
/ |
Filter |
s |
Sort column |
PgUp / PgDn |
Page up / down |
| Key |
Action |
F |
Toggle event follow mode |
Up / Down / j / k |
Scroll events |
| Key |
Action |
j / k |
Navigate |
Enter |
View node detail (with live logs) |
Space |
Select / deselect node |
A |
Select all / deselect all |
y |
Copy node IP |
Y |
Copy endpoint |
Ctrl+O |
Reboot selected node(s) |
Ctrl+D |
Shutdown selected node(s) |
Ctrl+U |
Upgrade cluster |
Esc |
Back to list |
| Key |
Action |
Up / Down |
Scroll logs |
PgUp / PgDn |
Page scroll logs |
F |
Toggle log follow mode |
Ctrl+X |
Reset node |
Esc |
Back to list |
| Key |
Action |
j / k |
Navigate |
Enter |
View service detail |
g |
Toggle group-by-node |
Ctrl+J |
Restart service |
Esc |
Back to list |
| Key |
Action |
Tab / Shift+Tab |
Switch between selectors and log pane |
Space / Enter |
Toggle node or service selection |
Up / Down / PgUp / PgDn |
Scroll log pane |
F |
Toggle follow mode |
Esc |
Back to selectors |
| Key |
Action |
j / k |
Navigate |
Enter |
View container detail |
Ctrl+L |
View container logs |
Esc |
Back to list |
| Key |
Action |
[ / ] |
Previous / next sub-tab (per-node selection) |
j / k |
Navigate |
| Key |
Action |
[ / ] |
Previous / next sub-tab |
j / k |
Navigate |
Ctrl+M |
Remove etcd member |
| Key |
Action |
Up / Down |
Navigate |
Space / Enter |
Select / start |
Ctrl+P |
Pause upgrade |
Ctrl+A |
Abort upgrade |
Esc |
Back |
| Key |
Action |
Ctrl+S |
Confirm action |
Esc |
Cancel |
Built with:
src/internal/
app/ # Root model, routing, actions, rendering
config/ # App settings (config.yaml) + Talos config helpers
talos/ # Talos gRPC client wrapper, context management
cluster/ # Cluster-wide queries (members, health, targets)
node/ # Per-node helpers (containers, etc.)
etcd/ # etcd member queries and management
upgrade/ # Rolling upgrade orchestration
resources/ # COSI resource helpers (CPU, memory, diagnostics)
update/ # Self-update check with GitHub API + disk cache
shared/ # Keys, styles, messages, thresholds, debug logging
ui/
contextpicker/ # Context selection modal
dashboard/ # Cluster health dashboard with dot matrix
nodelist/ # Node list with detail view + live logs
servicelist/ # Service list with grouping
logviewer/ # Multi-node log streaming
containers/ # Container listing and detail
network/ # Network interfaces and routes (per-node sub-tabs)
storage/ # Disk and volume info (per-node sub-tabs)
etcdview/ # etcd cluster members (per-node sub-tabs)
settings/ # Settings overlay (Ctrl+K)
configview/ # Talosconfig context viewer
configeditor/ # Node config YAML editor
upgrade/ # Cluster upgrade wizard
help/ # Help overlay
modal/ # Confirm, error, and reset dialogs
statusbar/ # Bottom status bar
Apache 2.0