k8s-tui
November 9, 2025 · View on GitHub
A powerful terminal-based user interface for managing Kubernetes resources. Browse, create, edit, and delete Kubernetes resources with an intuitive TUI built with Bubble Tea.
Features
- Multi-Cluster Support: Manage multiple Kubernetes clusters from a single interface
- Resource Management: Full CRUD operations for all major Kubernetes resources
- Interactive Forms: Create new resources with guided forms
- Real-time Updates: Auto-refreshing views with configurable intervals
- Plugin System: Extend functionality with Lua plugins
- Theme Support: Multiple color schemes including Catppuccin, Dracula, Nord, and more
- YAML Editing: Edit resources directly in your preferred editor
- Search & Filter: Quickly find resources across namespaces

Supported Resources
- Pods
- Deployments
- Services
- ConfigMaps
- Secrets
- Ingresses
- Jobs
- CronJobs
- DaemonSets
- StatefulSets
- Namespaces
- Nodes
Installation
From Source
git clone https://github.com/otavioCosta2110/k8s-tui.git
cd k8s-tui
go build -o k8s-tui ./cmd
Binary Releases
Download pre-built binaries from the releases page.
Usage
Command Line Arguments
# Basic usage
./k8s-tui
# Specify kubeconfig file
./k8s-tui --kubeconfig ~/.kube/cluster-config
# Use multiple kubeconfig files
./k8s-tui --kubeconfig ~/.kube/cluster1 --kubeconfig ~/.kube/cluster2
# Set default namespace
./k8s-tui --namespace production
# Use custom plugin directory
./k8s-tui --plugin-dir ./my-plugins
# Pass plugin-specific arguments
./k8s-tui --my-plugin-setting=value --another-flag=true
# Help
./k8s-tui --help
Available Arguments
| Argument | Description | Example |
|---|---|---|
--kubeconfig | Path to kubeconfig file(s) | --kubeconfig ~/.kube/config |
--namespace | Default namespace to use | --namespace default |
--plugin-dir | Plugin directory path | --plugin-dir ./plugins |
--help, -h | Show help message | --help |
--<plugin-arg> | Custom plugin arguments | --my-setting=value |
Quick Start
- Ensure you have access to a Kubernetes cluster via
kubectlorkubeconfig - Run k8s-tui:
./k8s-tui
-
Use up and down arrows to navigate between resource types
-
Use arrow keys to browse resources

-
Press Enter to view details

-
Press 'n' to create new resources

-
Press 'd' to delete resources
Key Bindings
Global Shortcuts
left/right: Switch between resource tabsCtrl+C/q: Quit application?: Show context-sensitive help
Multi-Cluster Navigation
Ctrl+Left: Previous clusterCtrl+Right: Next clusterCtrl+N: Add new cluster
Resource Lists
↑/↓/j/k: Navigate resourcesPage Up/Page Down: Navigate by pageHome/End: Jump to top/bottomEnter: View resource detailsn: Create new resourced: Delete selected resourcee: Edit resource (from details view)r: Refresh resource listEsc: Go back
Resource Details
e: Edit YAML in external editorr: Refresh resource dataEsc/q: Return to resource list
Creation Forms
Tab/Shift+Tab: Navigate between fields↑/↓: Alternative field navigationEnter: Submit form or move to next fieldEsc: Cancel creation
Tab-Specific Shortcuts
- Pods:
l(view logs),v(view manifest) - Deployments:
s(scale),v(view pods) - Services:
v(view endpoints)
For a complete reference, see Key Bindings Guide.
Configuration
Kubeconfig
k8s-tui uses the standard Kubernetes configuration:
KUBECONFIGenvironment variable~/.kube/configfile- In-cluster configuration (when running in a pod)
Themes
Configure themes by editing the configuration file at ~/.config/k8s-tui/config.json:
{
"theme": "catppuccin-mocha"
}
Theme Showcase
catppuccin-mocha

dracula

gruvbox

nord

one-dark

solarized-dark

tokyo-night

transparent

Plugins
Extend k8s-tui functionality with Lua plugins. See PLUGINS.md for details.
Development
Prerequisites
- Go 1.21+
- Access to a Kubernetes cluster
Building
go build -v ./...
Testing
go test -v ./...
Code Structure
internal/
├── app/ # UI and application logic
│ ├── cli/ # Command line interface
│ ├── config/ # Configuration handling
│ └── ui/ # User interface components
│ ├── components/ # Reusable UI components
│ └── models/ # Resource-specific models
└── k8s/ # Kubernetes API interactions
├── client/ # Kubernetes client setup
└── resources/ # Resource-specific operations
pkg/ # Shared packages
├── format/ # Data formatting utilities
├── logger/ # Logging utilities
└── plugins/ # Plugin system
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
License
MIT License - see LICENSE for details.
Acknowledgments
Built with:
- Bubble Tea - Terminal app framework
- Lip Gloss - Style definitions
- Kubernetes Go Client - Kubernetes API client
Support
Note: This project is not affiliated with the Kubernetes project or the Cloud Native Computing Foundation.