A keyboard-driven Kubernetes TUI for developers who live in the terminal.
KubeTile started as a personal tool to handle my daily Kubernetes workflow without leaving the terminal — browsing resources, streaming logs, exec-ing into pods, and debugging running containers, written in Rust.
Navigation & Layout
- Split panes (vertical / horizontal), tabs, fullscreen — all keyboard-driven
- Live resource lists for all standard K8s kinds: Pods, Deployments, Services, StatefulSets, DaemonSets, Jobs, CronJobs, ConfigMaps, Secrets, Ingresses, Nodes, Namespaces, PVs, PVCs
- Filter, sort columns, toggle all-namespaces, YAML view, describe view
Cluster Interaction
- Stream pod logs with follow, filter, wrap, save, and full export
- Interactive exec sessions inside containers
- Port-forwarding with a prompt UI and active-forwards panel
- Namespace and context switching overlays
Debug Workflows
- Debug mode (
Ctrl+Alt+don a Pod) — patches the owner Deployment tosleep infinityso you can exec in without the application interfering; restores the original command on exit - Root debug mode (
F5on a Pod) — same as above withsecurityContext.runAsUser: 0for root access; original securityContext restored on exit
Developer Experience
- Status bar with current cluster, namespace, and input mode
- Toast notifications, confirmation dialogs, context-sensitive help overlay
- Resource switcher command palette (
:) - Works gracefully without a cluster connection
Requirements: Rust ≥ 1.75, kubectl in PATH, a valid ~/.kube/config.
# Install from source
git clone https://github.com/gitavk/KubeTile
cd KubeTile
cargo install --path crates/kubetile-appOr download a pre-built binary from the Releases page (Linux x86_64/aarch64, .deb, .rpm).
kubetileKubeTile connects to your current kubeconfig context on launch. Press F1 for the keybinding reference at any time.
Full documentation is available in the KubeTile Book:
| Crate | Role |
|---|---|
| ratatui + crossterm | Terminal UI rendering |
| kube-rs | Kubernetes API client |
| tokio | Async runtime |
MIT — see LICENSE.
