KDash - A fast and simple dashboard for Kubernetes

A simple terminal dashboard for Kubernetes built with Rust

Contents
- What's new in 2.0
- Installation
- Usage
- Keybindings
- Configuration
- Flags
- Limitations / Known issues
- Features
- Screenshots
What's new in 2.0
- Resource management actions let you act on what you're watching without leaving KDash: delete any resource (
Ctrl-d), edit any resource in your$EDITOR(e), rollout restart workloads (r), view previous container logs (p), scale workloads, and cordon nodes or suspend/resume/trigger CronJobs from a new action menu (m). Impactful actions are guarded by a confirmation prompt. - Port-forward a Pod or Service with
f, then list and stop active forwards withShift+F. Forwards run in the background and are stopped when you quit KDash. - Log view options toggle timestamps (
t) and line wrap (w) while viewing container logs. - More themes and runtime cycling added Gruvbox Dark, Solarized Dark, and Mono alongside Catppuccin Macchiato and Latte, switchable on the fly with
t/Alt+t, plus an optional custom theme. - Refreshed UI cleans up hints, headers, help, notifications, and gauges, lays the help page out in two columns, and adds a cluster summary pane to the utilization view.
Sponsors
Thanks to the sponsors of @deepu105 who makes maintaining projects like KDash sustainable. Consider sponsoring if you like the work.
Installation
Homebrew (Mac & Linux)
brew tap kdash-rs/kdash
brew install kdash
# If you need to be more specific, use:
brew install kdash-rs/kdash/kdash
To upgrade
brew upgrade kdash
Scoop (Windows - Recommended way)
scoop bucket add kdash-bucket https://github.com/kdash-rs/scoop-kdash
scoop install kdash
Chocolatey (Windows)
Chocolatey package is located here. Since validation of the package takes forever, it may take a long while to become available after a release. I would recommend using Scoop instead for Windows.
choco install kdash
# Version number may be required for newer releases, if available:
choco install kdash --version=2.1.1
To upgrade
choco upgrade kdash --version=2.1.1
Arch Linux (AUR)
KDash is on the AUR in two flavors. Install with an AUR helper like yay or paru:
# Prebuilt release binary (no compile)
yay -S kdash-bin
# Build from the released source
yay -S kdash
# Build from the latest git main
yay -S kdash-git
Cargo
If you have Cargo installed then you install KDash from crates.io
cargo install kdash
# if you face issues with k8s-openapi crate try the below
cargo install --locked kdash
You can also clone the repo and run cargo run or make to build and run the app
Nix (Maintained by third party)
Try out kdash via nix run nixpkgs#kdash or add kdash to your
configuration.nix for permanent installation.
Install script
The quickest way to grab the latest release binary without a package manager. The script downloads the right build for your platform and verifies it against the published SHA-256 checksum before installing.
Linux and macOS (installs to ~/.local/bin by default, no sudo needed):
curl -fsSL https://raw.githubusercontent.com/kdash-rs/kdash/main/scripts/install.sh | sh
Useful flags:
--version vX.Y.Z: install a specific release instead of the latest--prefix: install somewhere else, e.g.--prefix /usr/local/bin--quiet: only print errors
Pass flags through the pipe with sh -s --:
curl -fsSL https://raw.githubusercontent.com/kdash-rs/kdash/main/scripts/install.sh | sh -s -- --prefix ~/bin
Windows (installs to %LOCALAPPDATA%\Programs\kdash):
irm https://raw.githubusercontent.com/kdash-rs/kdash/main/scripts/install.ps1 | iex
To also append the install directory to your user PATH, run it with -AddToPath:
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/kdash-rs/kdash/main/scripts/install.ps1))) -AddToPath
Note: The older
deployment/getLatest.shscript still works but is deprecated in favor ofinstall.sh, which adds checksum verification and--versionpinning.
Manual
Binaries for macOS (x86_64, arm64), Linux GNU/MUSL(x86_64, armv6, armv7, aarch64) and Windows (x86_64, aarch64) are available on the releases page
- Download the latest binary for your OS.
- For Linux/macOS:
cdto the file you just downloaded and runtar -C /usr/local/bin -xzf downloaded-file-name. Use sudo if required.- Run with
kdash
- For Windows:
- Use 7-Zip or TarTool to unpack the tar file.
- Run the executable file
kdash.exe
Docker
Run KDash as a Docker container by mounting your KUBECONFIG. For example the below command for the default path
docker run --rm -it -v ~/.kube/config:/root/.kube/config deepu105/kdash
# If you want localhost access from the container
docker run --network host --rm -it -v ~/.kube/config:/root/.kube/config deepu105/kdash
You can also clone this repo and run make docker to build a docker image locally and run it using the above command
Troubleshooting
Note: This may not work properly if you run Kubernetes locally using Minikube or Kind
Note: On Debian/Ubuntu you might need to install
libxcb-xfixes0-devandlibxcb-shape0-dev. On Fedoralibxcbandlibxcb-develwould be needed.
Note: On Linux you might need to have package
xorg-dev(Debian/Ubuntu) orxorg-x11-server-devel(Fedora) or equivalent installed for the copy to clipboard features to work
Note: If you are getting compilation error from openSSL. Make sure perl and perl-core are installed for your OS.
Usage
kdash
Press ? while running the app to see keybindings.
Keybindings
KDash is keyboard-driven. Press ? in the app for the full, always-current list (it also reflects any overrides from your config). The common keys:
Navigation
| Key | Action |
|---|---|
? |
Help page |
q / Ctrl-c |
Quit |
Esc |
Go back / close the current page |
↑ ↓ (or k j) |
Move selection / scroll |
← → (or h l) |
Switch resource tab |
PgUp PgDn / Home End |
Scroll a page / jump to top or bottom |
Tab / Shift+Tab |
Cycle main views forward / back |
Ctrl-h |
Reset navigation to the root view |
Enter |
Select row / drill into a resource |
/ |
Filter the current view |
Ctrl-r |
Refresh data |
1-0, - |
Jump straight to a resource tab |
t / Alt+t |
Cycle theme forward / back |
Resource actions
| Key | Action |
|---|---|
m |
Action menu for the selected resource |
d / y |
Describe / view YAML |
e |
Edit in $EDITOR |
Ctrl-d |
Delete (with confirmation) |
r |