qb 0.1.2

A fast, keyboard-driven terminal UI for browsing Kubernetes clusters
qb-0.1.2 is not a library.

qb

A fast, keyboard-driven terminal UI for browsing Kubernetes clusters.

qb communicates directly with the Kubernetes API server using your kubeconfig. It does not shell out to kubectl — all cluster communication is native.

┌ minikube > All Namespaces > Deployments ────────────────────────────────────┐
├──────────────────────────┬──────────────────────────────────────────────────┤
│ Cluster                  │ NAME              NAMESPACE   READY  UP  AGE     │
│ ▶ Overview               │▶ nginx-ingress    ingress     3/3    3   12d     │
│   Nodes                  │  coredns          kube-system 2/2    2   30d     │
│   Namespaces             │  metrics-server   monitoring  1/1    1    5d     │
│   Events                 │                                                  │
│ Workloads                │                                                  │
│   Deployments            │                                                  │
│   StatefulSets           │                                                  │
│   DaemonSets             │                                                  │
│   Pods                   │                                                  │
│ Network                  │                                                  │
│   Services               │                                                  │
│   Ingresses              │                                                  │
│ Config                   │                                                  │
│   ConfigMaps             │                                                  │
│   Secrets                │                                                  │
├──────────────────────────┴──────────────────────────────────────────────────┤
│ r  Resources  c  minikube  n  All Namespaces  /  Filter  l  Logs    q  Quit │
└─────────────────────────────────────────────────────────────────────────────┘

Features

  • Browse resources — Deployments, StatefulSets, ReplicaSets, Pods, CronJobs, Jobs, ConfigMaps, Secrets, Services
  • Multi-cluster — Switch between kubeconfig contexts on the fly
  • All namespaces by default — Namespace column appears automatically; filter down with n
  • Smart detail view — Structured, typed rendering for every resource (replicas, containers, conditions, ports, etc.)
  • YAML view — Full YAML with syntax highlighting, toggle with y/s
  • Secret management — Decode individual secret values in-place, copy plaintext to clipboard
  • Live logs — Stream logs from all pods/containers of a workload; regex filter and follow mode
  • Auto-refresh — Resource list updates every 2 seconds without losing your selection
  • Mouse support — Click to select resources, scroll wheel navigation, click popup items
  • Breadcrumb navigation — Top bar always shows cluster > namespace > type > resource > logs

Installation

cargo install (recommended)

Requires Rust 1.75+.

cargo install --git https://github.com/cchexcode/qb.git -p qb

Or via SSH:

cargo install --git git@github.com:cchexcode/qb.git -p qb

From source

git clone git@github.com:cchexcode/qb.git
cd qb
cargo build --release -p qb
# Binary is at target/release/qb

How It Works

qb uses the kube crate to communicate directly with the Kubernetes API server. Authentication and cluster connection details are read from your kubeconfig file (~/.kube/config or $KUBECONFIG).

The TUI is built with ratatui and crossterm. The interface follows patterns inspired by gitui — colored hotkey bar at the bottom, modal popups for selection, and keyboard-first navigation.

API calls are deferred and executed between render frames to keep the UI responsive. Log streaming uses async tasks with channels to push new lines into the view without blocking.