DEV Community

Yury Zhelezko
Yury Zhelezko

Posted on

FerrisScope — open-source desktop IDE for Kubernetes

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)