Lens has been a frustrating daily driver for a while — the bundled Chromium runtime, business logic running in the renderer, the open-source build getting pared back release after release. After enough papercuts I started building a replacement that puts the engine in Rust and uses the system webview. It’s now usable enough to share.
FerrisScope is a desktop Kubernetes IDE built on Tauri 2 + kube-rs + React. Apache-2.0.
GitHub: https://github.com/dzcorp/FerrisScope
What works today:
- 50+ resource kinds with reflector-backed tables (Workloads, Network, Config, Storage, RBAC, Cluster, Helm, CRDs).
- Detail panels with cross-kind navigation (owner refs, node, service-account, mounted ConfigMaps and Secrets).
- Live ANSI-coloured logs, embedded terminal (xterm.js + portable-pty), Monaco YAML editor.
- Port-forwards that survive pod restarts and persist across app restarts when pinned.
- Metrics from metrics-server plus per-PVC volume usage via kubelet stats summary. Prometheus-API queries via apiserver proxy with vendor detection.
- Helm install/upgrade/uninstall, node cordon and drain, rollout-style workload restart.
- Inline Server-Side Apply for ConfigMap, Secret, ResourceQuota, LimitRange, plus labels and annotations on opted-in kinds. Stable field manager, conflict surfacing with explicit force-takeover.
- Multi-source kubeconfigs (default file, extra files, folder scans, SSH-mounted remote configs), all live-watched.
- Global cluster search via SQLite FTS5, hooked into the command palette.
- Dynamic CRD discovery so every custom resource is browseable out of the box. Gateway API gets first-class detail panels; Argo, Flux, Cert-Manager, Istio, Tekton are next on the list.
- Optional in-app chat agent with a Kubernetes tool catalogue (list/get/delete pods, scale, tail logs, query Prometheus, helm, SSA apply, etc.) gated by per-call approval. Bring your own provider key.
Stack: Tauri 2 (system webview), Rust 1.94+, Tokio, kube-rs, React 19 + TypeScript + Vite, Monaco, xterm.js, rusqlite with FTS5, russh for the SSH transport. unsafe_code is forbidden across the workspace; rustls only.
Linux (deb / rpm / AppImage / AUR), macOS (Apple Silicon and Intel), Windows.
Screenshots and install instructions are in the repo README.
Happy to hear what’s missing, what’s broken, and what you’d design differently.

Top comments (0)