Code Monkey home page Code Monkey logo

kdash's Introduction

KDash - A fast and simple dashboard for Kubernetes

ci cd Licence LOC crates.io link Docker Release Release Coverage GitHub Downloads Docker pulls Crate.io downloads

Follow Deepu K Sasidharan (deepu105)

logo

A simple terminal dashboard for Kubernetes built with Rust

UI

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)

Choco package located here. Since validation of the package takes time, it may take a while to become available after a release.

choco install kdash

# Version number may be required for newer releases, if available:
choco install kdash --version=0.1.0

To upgrade

choco upgrade kdash --version=0.1.0

Install script

Run the below command to install the latest binary. Run with sudo if you dont have write access to /usr/local/bin. Else the script will install to current directory

curl https://raw.githubusercontent.com/kdash-rs/kdash/main/deployment/getLatest.sh | bash

Manual

Binaries for macOS, Linux and Windows are available on the releases page

  1. Download the latest binary for your OS.
  2. For Linux/macOS:
    1. cd to the file you just downloaded and run tar -C /usr/local/bin -xzf downloaded-file-name. Use sudo if required.
    2. Run with kdash
  3. For Windows:
    1. Use 7-Zip or TarTool to unpack the tar file.
    2. Run the executable file kdash.exe

Docker

Run KDash as a Docker container by mounting your KUBECONFIG. For example the below for default path

docker run --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 above command

Note: This may not work properly if you run Kubernetes locally using Minikube or Kind

Cargo

If you have Cargo installed then you install KDash from crates.io

cargo install kdash

You can also clone the repo and run cargo run or make to build and run the app

Note:: On Linux you might need to have package xorg-dev (Debian/Ubuntu) or xorg-x11-server-devel (Fedora) or equivalent installed for the copy to clipboard features to work

USAGE:

kdash

Press ? while running the app to see keybindings

FLAGS:

  • -h, --help: Prints help information
  • -V, --version: Prints version information
  • -t, --tick-rate <tick-rate>: Set the tick rate (milliseconds): the lower the number the higher the FPS.
  • -p, --poll-rate <poll-rate>: Set the network call polling rate (milliseconds, should be multiples of tick-rate): the lower the number the higher the network calls.

Limitations/Known issues

  • [Windows] KDash looks better on CMD since Powershell's default theme makes the colours look weird.
  • [Windows] If using k3d for local clusters, set the server URL to 127.0.0.1 as 0.0.0.0 doesn't work with kube-rs. You can use k3d cluster create --api-port 127.0.0.1:6550 or change the cluster.server value in your .kube/config for the k3d cluster to 127.0.0.1:<port>

Features

  • CLI Info
  • Node metrics
  • Resource Watch (configurable polling interval with -p flag)
  • Describe resources & copy output
  • Get YAML for resources & copy output
  • Stream container logs
  • Context
    • Context info
    • Context watch
    • Change namespace
    • Context switch
  • Resources utilizations for nodes, pods and namespaces based on metrics server. Requires metrics-server to be deployed on the cluster.
  • Dark/Light themes

Screenshots

Overview screen

UI

Container logs screen (light theme)

UI

Pod describe screen (light theme)

UI

Contexts screen

UI

Utilization screen

UI

Libraries used

How does this compare to K9S?

K9S is a beast compared to this as it offers way more features including CRUD actions.

KDash only offers a view of most used resources with a focus on speed and UX. Really, if something is slow or have bad UX then please raise a bug. Hence the UI/UX is designed to be more user friendly and easier to navigate with contextual help everywhere and a tab system to switch between different resources easily.

At least for now there are no plans to add full CRUD for resources but we will add more resources and more useful actions

Licence

MIT

Authors

kdash's People

Contributors

deepu105 avatar dependabot[bot] avatar somayaj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.