KDash - A fast and simple dashboard for Kubernetes

Overview

KDash - A fast and simple dashboard for Kubernetes

Note: This is a beta version

 _  __ ___             _
| |/ /|   \  __ _  ___| |_
| ' < | |) |/ _` |(_-<| ' \
|_|\_\|___/ \__,_|/__/|_||_|

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

Install script

TODO

Manual

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

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

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:

Press ? while running the app to see keybindings

FLAGS:

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

Features & Todos

  • CLI Info
  • Resource Watch (configurable polling interval with -p flag)
    • Pods
    • Nodes
    • Namespace
    • Services
    • Containers
    • ConfigMaps
    • StatefulSets
    • ReplicaSets
    • Deployments
  • Describe resources
    • Pods
    • Nodes
    • Services
    • Deployments
    • ConfigMaps
    • StatefulSets
    • ReplicaSets
    • select/copy output
    • as YAML
  • Stream logs/events
    • Containers
    • Services
    • Deployments
    • StatefulSets
    • select/copy output
  • Context
    • Context info
    • Node metrics
    • Context watch
    • Change namespace?
    • Context switch
  • Resources utilizations
  • Dark/Light themes
  • Custom keymap
  • Custom theme
  • Tests, a lot of them :)

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. 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 CRUD for resources

Licence

MIT

Authors

Comments
  • kdash Crash Report

    kdash Crash Report

    name = 'kdash'
    operating_system = 'unix:Manjaro'
    crate_version = '0.2.6'
    explanation = '''
    Panic occurred in file '~/.cargo/registry/src/github.com-1ecc6299db9ec823/tui-0.16.0/src/widgets/gauge.rs' at line 204
    '''
    cause = 'Ratio should be between 0 and 1 inclusively.'
    method = 'Panic'
    backtrace = '''
    
       0: 0x557115c570f2 - kdash::main::hbb7d0b00cd09bc2d
       1: 0x557115b1a0b3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h37718759770cb226
       2: 0x557115c62eb7 - main
       3: 0x7f02e4dc4b25 - __libc_start_main
       4: 0x557115a9325e - _start
       5:        0x0 - <unresolved>'''
    
    opened by omid 21
  • kdash fails to start due to tcp connect error on Windows

    kdash fails to start due to tcp connect error on Windows

    Describe the bug I use k3d to bootstrap a k8s cluster locally. When I now open kdash, the error HyperError: error trying to connect: tcp connect error: Die angeforderte Adresse ist in diesem Kontext ungültig. (os error 10049) appears after some seconds and I'm not able to see the resource overview. With other tools (kubectl, k9s) I can connect to the cluster without any problems.

    Also, sometimes when I press Ctrl-C to close kdash after the previous mentioned error appeared, I get the following error in the cmd:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    OSError: [Errno 22] Invalid argument
    Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1252'>
    OSError: [Errno 22] Invalid argument
    

    To Reproduce

    1. Create a local k8s cluster using k3d cluster create
    2. Start kdash using the kdashcommand
    3. Wait a few seconds
    4. See error

    Expected behavior The resource overview loads.

    Screenshots image

    https://user-images.githubusercontent.com/53078027/117637156-d5c09e00-b181-11eb-9e29-f66cbd362169.mp4

    Desktop (please complete the following information):

    • OS and OS version: Windows 10
    • Terminal name and version: Windows CMD
    • Shell name and version: -
    • Kubectl Client Version: v1.21.0
    • Kubectl Server Version: v1.20.5+k3s1
    • KDash version: 0.0.8

    Additional context

    kubectl version
    Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"windows/amd64"}
    Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.5+k3s1", GitCommit:"355fff3017b06cde44dbd879408a3a6826fa7125", GitTreeState:"clean", BuildDate:"2021-03-31T06:21:52Z", GoVersion:"go1.15.10", Compiler:"gc", Platform:"linux/amd64"}
    
    k3d version
    k3d version v4.4.1
    k3s version v1.20.5-k3s1 (default)
    
    Windows 
    opened by Cyneath 10
  • Crash while viewing utilization of K8s cluster

    Crash while viewing utilization of K8s cluster

    Describe the bug A clear and concise description of what the bug is. Application crashed while viewing utilization of K8s cluster

    To Reproduce Steps to reproduce the behavior or a screencast

    1. Open application
    2. Go to utilization tab
    3. Play a bit with the grouping <g>
    4. ???
    5. Crash

    Expected behavior A clear and concise description of what you expected to happen. The application does not crash

    Screenshots If applicable, add screenshots to help explain your problem. image

    Desktop (please complete the following information):

    • OS and OS version: [e.g. macOS 10.1 / Fedora 34 / WIndows 10]
    Ubuntu 20.04 LTS
    Linux artemis 5.4.0-77-generic #86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
    
    • Terminal name and version [e.g. Tilix, Yakuake, Gnome Terminal, Konsole, iTerm, Windows CMD]
    Windows terminal using WSL2, though accessing a remote server over SSH
    
    • Shell name and version [e.g. bash, zsh, fish, powershell]
    GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
    
    • Kubectl Client Version [e.g. 1.19]
    Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.5", GitCommit:"6b1d87acf3c8253c123756b9e61dac642678305f", GitTreeState:"clean", BuildDate:"2021-03-18T01:10:43Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}
    
    • Kubectl Server Version [e.g. 1.19]
    Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.5", GitCommit:"6b1d87acf3c8253c123756b9e61dac642678305f", GitTreeState:"clean", BuildDate:"2021-03-18T01:02:01Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}
    
    • KDash version [e.g. 0.0.8] 0.1.2

    Additional context Add any other context about the problem here. Produced logs file:

    [email protected]:~/kubernetes/manifests/system$ cat /tmp/report-310a52bb-fffa-45d3-bbfa-c68aa9d110aa.toml
    name = 'kdash'
    operating_system = 'unix:Ubuntu'
    crate_version = '0.1.2'
    explanation = '''
    Panic occurred in file '/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/tui-0.15.0/src/widgets/table.rs' at line 359
    '''
    cause = 'index out of bounds: the len is 171 but the index is 171'
    method = 'Panic'
    backtrace = '''
    
       0: 0x7f29ada79c82 - <unresolved>
       1: 0x7f29add1dcae - <unresolved>
       2: 0x7f29adbeae03 - <unresolved>
       3: 0x7f29adccf1d2 - <unresolved>
       4: 0x7f29adbcc548 - <unresolved>
       5: 0x7f29adb6e092 - <unresolved>
       6: 0x7f29adbdf629 - <unresolved>
       7: 0x7f29adcc1a14 - <unresolved>
       8: 0x7f29adc509ea - <unresolved>
       9: 0x7f29adb2f8c3 - <unresolved>
      10: 0x7f29adc31f0d - <unresolved>
      11: 0x7f29ae16cfa9 - <unresolved>
      12: 0x7f29adc510e2 - <unresolved>
    
    blocked_by_external_lib 
    opened by TobiasDeBruijn 9
  • Log streaming is blocking network thread even after break

    Log streaming is blocking network thread even after break

    When streaming container logs, the network thread gets blocked for any subsequent calls (when going back and selecting a new container). Seems like when the try_next on the logs stream waits for a server response (incase of a container that doesn't produce next line of log yet) the thread gets blocked

    log_streaming_method: https://github.com/kdash-rs/kdash/blob/main/src/network/kube_api.rs#L394

    bug help wanted 
    opened by deepu105 9
  • Instance type label in Nodes tab

    Instance type label in Nodes tab

    It would be great to have the instance-type label in the Nodes tab. This will help when you navigate between multiple cluster environments where you have different instance types.

    node.kubernetes.io/instance-type: "m3.medium" - https://kubernetes.io/docs/reference/labels-annotations-taints/#nodekubernetesioinstance-type

    opened by shinusuresh 8
  • "cargo install kdash" k8s-openapi error

    Describe the bug Cannot install/build with cargo install kdash. Fails on running k8s-openapi.

    To Reproduce Steps to reproduce the behavior or a screencast

    1. cargo install kdash
    2. See error

    Expected behavior Builds and installs.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS and OS version: Windows / WSL / Arch
    • Terminal name and version: st
    • Shell name and version: zsh
    • Kubectl Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.4", GitCommit:"b695d79d4f967c403a96986f1750a35eb75e75f1", GitTreeState:"archive", BuildDate:"2021-11-18T21:20:32Z", GoVersion:"go1.17.3", Compiler:"gc", Platform:"linux/amd64"}
    • Kubectl Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.11-eks-f17b81", GitCommit:"f17b810c9e5a82200d28b6210b458497ddfcf31b", GitTreeState:"clean", BuildDate:"2021-10-15T21:46:21Z", GoVersion:"go1.15.15", Compiler:"gc", Platform:"linux/amd64"}
    • KDash version: v0.3.0

    Additional context: I've seen #104 and #111. I assume this is a new instance of a similar issue since those were fixed.

    opened by valorl 8
  • "cargo install kdash" fails during compilation

    Describe the bug Executing cargo install kdash to install the v0.2.3 crate fails during compilation

    To Reproduce Steps to reproduce the behavior:

    1. Execute cargo install kdash

    Expected behavior Installation of the crate

    Screenshots The following is output during the install:

    error: failed to run custom build command for `k8s-openapi v0.13.0`
    
    Caused by:
      process didn't exit successfully: `/tmp/cargo-installJLFrYi/release/build/k8s-openapi-405af67896caa110/build-script-build` (exit status: 101)
      --- stderr
      thread 'main' panicked at '
      None of the v1_* features are enabled on the k8s-openapi crate.
    
      The k8s-openapi crate requires a feature to be enabled to indicate which version of Kubernetes it should support.
    
      If you're using k8s-openapi in a binary crate, enable the feature corresponding to the minimum version of API server that you want to support. It may be possible that your binary crate does not directly depend on k8s-openapi. In this case, add a dependency on k8s-openapi, then enable the corresponding feature.
    
      If you're using k8s-openapi in a library crate, add a dev-dependency on k8s-openapi and enable one of the features there. This way the feature will be enabled when buildings tests and examples of your library, but not when building the library itself. It may be possible that your library crate does not directly depend on k8s-openapi. In this case, add a dev-dependency on k8s-openapi, then enable the corresponding feature.
    
      Library crates *must not* enable any features in their direct dependency on k8s-openapi, only in their dev-dependency. The choice of Kubernetes version to support should be left to the final binary crate, so only the binary crate should enable a specific feature. If library crates also enable features, it can cause multiple features to be enabled simultaneously, which k8s-openapi does not support.
    
      If you want to restrict your library crate to support only a single specific version or range of versions of Kubernetes, please use the k8s_* version-specific macros to emit different code based on which feature gets enabled in the end.', /home/matt/.cargo/registry/src/github.com-1ecc6299db9ec823/k8s-openapi-0.13.0/build.rs:9:42
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    warning: build failed, waiting for other jobs to finish...
    error: failed to compile `kdash v0.2.3`, intermediate artifacts can be found at `/tmp/cargo-installJLFrYi`
    

    Desktop (please complete the following information):

    • OS and OS version: Ubuntu 20.04
    • Terminal name and version: Kitty
    • Shell name and version: bash
    • KDash version: v0.2.3

    Additional context Cargo looks to be retrieving a new version of the k8s-openapi crate than what kdash states via the Cargo.toml file. Which looks to be due to other dependencies requiring the newer version of the crate.

    opened by wintermi 7
  • Dark theme: the blue font color is barely visible

    Dark theme: the blue font color is barely visible

    Is your feature request related to a problem? Please describe. The color chosen for "KDash - A simple Kubernetes dashboard" and others is barely visible on a black screen.

    Describe the solution you'd like Use white or something else that has good contrast.

    (awesome tool, btw)

    opened by sed-i 6
  • "Error from network dispatch channel closed"

    Describe the bug A clear and concise description of what the bug is.

    I see Error from network dispatch channel closed when I launch kdash, this is printed repeatedly on the screen. Is this because of configuration? I'm running Kubernetes using Azure Kubernetes Service.

    To Reproduce Steps to reproduce the behavior or a screencast

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS and OS version: [e.g. macOS 10.1 / Fedora 34 / WIndows 10]
    • Terminal name and version [e.g. Tilix, Yakuake, Gnome Terminal, Konsole, iTerm, Windows CMD]
    • Shell name and version [e.g. bash, zsh, fish, powershell]
    • Kubectl Client Version [e.g. 1.19]
    • Kubectl Server Version [e.g. 1.19]
    • KDash version [e.g. 0.0.8]

    Additional context Add any other context about the problem here.

    need-reproduction 
    opened by velvia 6
  • Crash on exit

    Crash on exit

    Describe the bug Application crashes when exiting via the ESC key.

    To Reproduce Steps to reproduce the behavior or a screencast

    1. Open application
    2. Hit the ESC key
    3. Crash

    Expected behavior Gracefully exit the application

    Desktop (please complete the following information):

    • OS and OS version: RHEL 8.4
    • Terminal name and version: kitty
    • Shell name and version: bash 4.4.20
    • Kubectl Client Version: 1.20.5
    • Kubectl Server Version: 1.20.5
    • KDash version: 0.2.0
    opened by wintermi 5
  • Bump serde_json from 1.0.82 to 1.0.83

    Bump serde_json from 1.0.82 to 1.0.83

    Bumps serde_json from 1.0.82 to 1.0.83.

    Release notes

    Sourced from serde_json's releases.

    v1.0.83

    • Add categories to crates.io metadata
    Commits
    • 2b0403f Release 1.0.83
    • db96d72 Add categories to crates.io metadata
    • 2512933 Add authors to Cargo.toml
    • 22da797 Sort package entries in Cargo.toml
    • 01ef46e Ignore assertions_on_result_states clippy lint
    • aac479a Avoid cargo 1.43–1.45 in GitHub Actions
    • 1a43381 Convert i/u128 conversion to itoa instead of std::fmt
    • 84c157b Directly install aarch64-unknown-none target support
    • d1cbbb6 Update ui test suite to nightly-2022-07-20
    • 5b441a2 Ignore explicit_auto_deref clippy lint
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • Bump serde_json from 1.0.85 to 1.0.89

    Bump serde_json from 1.0.85 to 1.0.89

    Bumps serde_json from 1.0.85 to 1.0.89.

    Release notes

    Sourced from serde_json's releases.

    v1.0.89

    • Fix invalid JSON incorrectly accepted when a large number has no digits after decimal point (#953)

    v1.0.88

    • Optimize serde_json::Map's implementation of append and clone_from (#952, thanks @​Lucretiel)

    v1.0.87

    • Add write_i128 and write_u128 methods to serde_json::Formatter to control the formatting of 128-bit integers (#940, thanks @​Lucretiel)

    v1.0.86

    • Support arbitrary_precision feature even in no-std mode (#928, thanks @​kvinwang)
    Commits
    • d2f9368 Release 1.0.89
    • 0b89836 Merge pull request #956 from dtolnay/decimal
    • 9d94e92 Require at least one digit after decimal point
    • c27b023 Add regression test for issue 953
    • 586fefb Resolve semicolon_if_nothing_returned pedantic clippy lint
    • 9eb66da Release 1.0.88
    • 057957c Merge pull request #952 from Lucretiel/map-traits
    • 3347248 Add clone_from to Map; Map::append now uses IndexMap::extend
    • ca41bdd Update ui test suite to nightly-2022-11-16
    • 4f194c9 Resolve needless_borrow pedantic clippy lint in test
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump clap from 3.2.22 to 4.0.26

    Bump clap from 3.2.22 to 4.0.26

    Bumps clap from 3.2.22 to 4.0.26.

    Release notes

    Sourced from clap's releases.

    v4.0.26

    [4.0.26] - 2022-11-16

    Fixes

    • (error) Fix typos in ContextKind::as_str

    v4.0.25

    [4.0.25] - 2022-11-15

    Features

    • (error) Report available subcommands when required subcommand is missing

    v4.0.24

    [4.0.24] - 2022-11-14

    Fixes

    • Avoid panic when printing an argument that isn't built

    v4.0.23

    [4.0.23] - 2022-11-11

    Fixes

    • Don't panic on reporting invalid-long errors when followed by invalid UTF8
    • (help) Clarified argument to help subcommand

    v4.0.22

    [4.0.22] - 2022-11-07

    Fixes

    • (help) Don't overflow into next-line-help early due to stale (pre-v4) padding calculations

    v4.0.21

    [4.0.21] - 2022-11-07

    Features

    • (derive) long_about and long_help attributes, without a value, force using doc comment (before it wouldn't be set if there wasn't anything different than the short help)

    v4.0.20

    [4.0.20] - 2022-11-07

    Fixes

    • (derive) Allow defaulted value parser for '()' fields

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [4.0.26] - 2022-11-16

    Fixes

    • (error) Fix typos in ContextKind::as_str

    [4.0.25] - 2022-11-15

    Features

    • (error) Report available subcommands when required subcommand is missing

    [4.0.24] - 2022-11-14

    Fixes

    • Avoid panic when printing an argument that isn't built

    [4.0.23] - 2022-11-11

    Fixes

    • Don't panic on reporting invalid-long errors when followed by invalid UTF8
    • (help) Clarified argument to help subcommand

    [4.0.22] - 2022-11-07

    Fixes

    • (help) Don't overflow into next-line-help early due to stale (pre-v4) padding calculations

    [4.0.21] - 2022-11-07

    Features

    • (derive) long_about and long_help attributes, without a value, force using doc comment (before it wouldn't be set if there wasn't anything different than the short help)

    [4.0.20] - 2022-11-07

    Fixes

    • (derive) Allow defaulted value parser for '()' fields

    [4.0.19] - 2022-11-04

    Features

    • ColorChoice now implements ValueEnum

    [4.0.18] - 2022-10-20

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • kdash crashes after install

    kdash crashes after install

    Describe the bug kdash crashes after install.

    To Reproduce Install via brew, then launch kdash as per instructions and it crashes, screenshot below.

    Screenshots image

    Desktop (please complete the following information):

    • macOS 12.6
    • default Terminal in macOS
    • bash: 3.2.57(1)-release
    • kubectl client v1.22.15
    • kubectl server v1.23.13+IKS
    • kdash 0.3.5

    Additional context

    Add any other context about the problem here. crash.toml.zip

    opened by jeeva86 4
  • Bump kube from 0.74.0 to 0.76.0

    Bump kube from 0.74.0 to 0.76.0

    Bumps kube from 0.74.0 to 0.76.0.

    Release notes

    Sourced from kube's releases.

    0.76.0

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    New Contributors

    Full Changelog: https://github.com/kube-rs/kube/compare/0.75.0...0.76.0

    0.75.0

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] makes this the first release with tentative Kubernetes 1.25 support. While the new structs and apis now exist, we recommend holding off on using 1.25 until a deserialization bug in the apiserver is resolved upstream. See #997 / #1008 for details.

    To upgrade, ensure you bump both kube and k8s-openapi:

    cargo upgrade kube k8s-openapi
    

    ... (truncated)

    Changelog

    Sourced from kube's changelog.

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] makes this the first release with tentative Kubernetes 1.25 support. While the new structs and apis now exist, we recommend holding off on using 1.25 until a deserialization bug in the apiserver is resolved upstream. See #997 / #1008 for details.

    To upgrade, ensure you bump both kube and k8s-openapi:

    cargo upgrade kube k8s-openapi
    

    New/Old Config::incluster default to connect in cluster

    Our previous default of connecting to the Kubernetes apiserver via kubernetes.default.svc has been reverted back to use the old environment variables after Kubernetes updated their position that the environment variables are not legacy. This does unfortunately regress on rustls support, so for those users we have included a Config::incluster_dns to work around the old rustls issue while it is open.

    ... (truncated)

    Commits
    • cd7e00e release 0.76.0
    • da6b5e7 Merge pull request #1051 from teozkr/fix/hoist-enum-values
    • 9dd40ab Merge branch 'main' into fix/hoist-enum-values
    • 9d1a554 Remove native-tls feature (#1044)
    • 0faf86a Merge branch 'main' into fix/hoist-enum-values
    • 0b12c6a Merge pull request #1052 from teozkr/clippy/2022-10-14
    • f2f9c44 Use _else variants for constructing errors
    • 468bb81 Use immediate format interpolation where possible
    • d2f90fb s/sex/gender/g in test case
    • 4c5e5a3 Hoist enum values from subschemas
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump tokio-stream from 0.1.10 to 0.1.11

    Bump tokio-stream from 0.1.10 to 0.1.11

    Bumps tokio-stream from 0.1.10 to 0.1.11.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(v0.3.5)
Owner
null
A simple 2D plotting library that outputs graphs to SVG that can be styled using CSS.

Poloto graphs can be stylized using css either directly in the SVG, or from inside of html with an embedded svg. The latter allows the user to dynamically match the svg to their website's theme.

Ken Reed 118 Dec 4, 2022
A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀

Plotters - A Rust drawing library focus on data plotting for both WASM and native applications ?? ?? ?? Plotters is drawing library designed for rende

Hao Hou 2.6k Nov 24, 2022
A small charting/visualization tool and partial vega implementation for Rust

Gust A charting library for rust! Disclaimer This is still very much a work in progress! APIs are very unstable and subject to change. Contributions a

Samuel Resendez 128 Oct 14, 2022
Swash is a pure Rust, cross-platform crate that provides font introspection, complex text shaping and glyph rendering.

Swash is a pure Rust, cross-platform crate that provides font introspection, complex text shaping and glyph rendering. Goals This crate aims to

Chad Brokaw 384 Nov 29, 2022
below is an interactive tool to view and record historical system data.

A time traveling resource monitor for modern Linux systems

Facebook Incubator 800 Nov 26, 2022
This is an implementation of an Iced backend for Plotters, for both native and wasm applications.

plotters-iced This is an implementation of an Iced backend for Plotters, for both native and wasm applications. This backend has been optimized as for

joylei 52 Dec 4, 2022
📝 Web-based, reactive Datalog notebooks for data analysis and visualization

?? Web-based, reactive Datalog notebooks for data analysis and visualization

Eric Zhang 478 Dec 4, 2022
Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

null 293 Sep 22, 2022
H2O Open Source Kubernetes operator and a command-line tool to ease deployment (and undeployment) of H2O open-source machine learning platform H2O-3 to Kubernetes.

H2O Kubernetes Repository with official tools to aid the deployment of H2O Machine Learning platform to Kubernetes. There are two essential tools to b

H2O.ai 16 Nov 12, 2022
A simple, terminal-based Erlang dashboard written in Rust

erldash A simple, terminal-based Erlang dashboard. erldash connects to an Erlang node using the dynamic node name feature (since OTP-23) to collect me

Takeru Ohta 83 Nov 16, 2022
Golang terminal dashboard

termui termui is a cross-platform and fully-customizable terminal dashboard and widget library built on top of termbox-go. It is inspired by blessed-c

Zack Guo 12.2k Dec 1, 2022
A Dashboard for your Lab

Veza - A Dashboard for your Lab Veza is an browser based application that displays any live data in a well-organized way. It aims to be a freely confi

Daniel Hartig 5 Dec 3, 2021
Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator

Northstar Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator. Explore the docs » View Demo · Report

Lucas Clerisse 1 Jan 22, 2022
Detects orphan configmaps and secrets in a Kubernetes cluster

KubExplorer Warning: Proof of concept. Feedback is much welcome. Discovers and prints out any Configmaps and Secrets not linked to any of the followin

Pavel Pscheidl 56 Oct 21, 2022
Rust Kubernetes client and controller runtime

kube-rs Rust client for Kubernetes in the style of a more generic client-go, a runtime abstraction inspired by controller-runtime, and a derive macro

kube-rs 1.7k Nov 26, 2022
💫 Small microservice to handle state changes of Kubernetes pods and post them to Instatus or Statuspages

?? Kanata Small microservice to handle state changes of Kubernetes pods and post to Instatus ?? Why? I don't really want to implement and repeat code

Noel ʕ •ᴥ•ʔ 4 Mar 4, 2022
Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications

Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications Explore PipeCD docs » Overview PipeCD provides a unified co

PipeCD 634 Nov 28, 2022
Kubernetes controller written in Rust for automatically generating and updating secrets

Kubernetes controller written in Rust for automatically generating and updating secrets

Loc Mai 6 Nov 8, 2022
Cloud native log storage and management for Kubernetes, containerised workloads

Live Demo | Website | API Workspace on Postman Parseable is an open source, cloud native, log storage and management platform. Parseable helps you ing

Parseable, Inc. 633 Nov 30, 2022