Skip to content

ErfanY/krust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

krust

CI Release License: MIT Kubernetes 1.33+

krust is a latency-first Kubernetes terminal navigator for operators managing many clusters and high resource volume.

It focuses on fast navigation, inspect, logs, and safe actions, with high k9s command/keybinding compatibility for Kubernetes-native workflows.

Goal and Approach

Goal:

  • stay responsive for power users across many contexts and large object sets
  • provide Kubernetes-native terminal workflows without plugin complexity

Approach:

  • lazy scope activation instead of watch-everything startup
  • bounded state/update pipelines to avoid UI jitter under churn
  • keyboard-first interaction with high k9s compatibility
  • explicit RBAC/auth error handling and guarded mutation paths

Install

Homebrew

brew tap ErfanY/krust
brew install krust

Prebuilt binaries

curl -L -o krust.tar.gz \
  https://github.com/ErfanY/krust/releases/latest/download/krust-x86_64-unknown-linux-gnu.tar.gz

tar -xzf krust.tar.gz
sudo install krust-x86_64-unknown-linux-gnu/krust /usr/local/bin/krust

From source

cargo install --git https://github.com/ErfanY/krust.git --locked krust

Quick Start

krust
krust --context <context-name>
krust --namespace <namespace>
krust --readonly

Compatibility

  • OS: macOS, Linux
  • Kubernetes: 1.33+
  • Auth: kubeconfig + exec auth providers

Documentation

Scope

Available now:

  • Multi-context workflow with fast context switching and namespace scoping (all namespace supported)
  • Kubernetes resource browser for: pods, deployments, replicasets, statefulsets, daemonsets, services, ingresses, configmaps, secrets, jobs, cronjobs, pvc/pv, nodes, namespaces, events, serviceaccounts, roles/rolebindings/clusterroles/clusterrolebindings, networkpolicies, hpa, pdb
  • Describe/detail pane with YAML/JSON toggle, syntax highlighting, vim-style search, and wrap/horizontal scroll modes
  • Logs pane with stream, tail, pause, source filtering, container selection, and multi-pod fan-in for deployment/replicaset views
  • Secret decode view in YAML, with edit/apply support and automatic re-encode on apply
  • Guarded mutation flows (for example delete) plus read-only mode (--readonly)
  • k9s-style command and keybinding compatibility for Kubernetes-native workflows (plugin commands excluded)
  • Performance-oriented behavior for large clusters: lazy watch activation, bounded update pipelines, render invalidation, and RBAC-aware watch suppression

Explicitly out of scope:

  • Plugin subsystem
  • Non-Kubernetes plugin commands

License

MIT. See LICENSE.

About

Kubernetes Client in Rust

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors