deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

K10s is a mouse-clickable Kubernetes terminal dashboard with built-in AI

K10s, a new Go-based Kubernetes TUI built on Bubble Tea, supports full mouse interaction, lazy resource loading, k9s plugin compatibility and an AI prompt that knows which object you selected.

K10s is a mouse-clickable Kubernetes terminal dashboard with built-in AI

K10s, a new open-source Kubernetes dashboard for the terminal, has been posted to Hacker News as a Show HN project. Written in Go on the Bubble Tea framework and shipped as a single binary, its central pitch is that the interface is fully clickable: rows, panes, border buttons, the namespace dropdown and table scrolling all respond to the mouse, with keyboard shortcuts still available throughout.

According to the project's GitHub README, the design assumption is that engineers open a cluster view many times a day, frequently mid-incident, so launch speed and low memorisation matter most. Startup registers zero watches and waits for nothing; informers start lazily, per resource kind, the first time that kind is viewed — opening Pods watches pods rather than every Secret and Event in the cluster.

Clickable navigation and operations

Actions relevant to the selected object are listed in their own pane, each with a keyboard letter, so nothing is hidden behind memorised chords. A single search box, ctrl+p, queries resource kinds and objects together with no prefix syntax to learn.

The built-in operations cover routine cluster work: describe pulls real kubectl describe output from the API, another key shows the live YAML, logs follow with 500 lines of scrollback, shell opens an interactive exec session in a resize-aware TTY, and port-forwarding uses real SPDY forwards started and stopped from the pane. Metrics views show per-container usage against requests and limits; edit, rollout restart and scale are single keys; cordon, uncordon and drain appear only when the Nodes list is selected; and deletion is guarded by a red confirmation modal. Plugins in the k9s plugins.yaml format are supported too — shortcuts placed in ~/.k10s/plugins.yaml appear beside built-in actions and receive the selected object, namespace, context and column values.

Coverage and request behaviour

Thirty resource kinds are grouped into Workloads, Network, Config, Storage, RBAC, Cluster and Custom Resources, with custom resource definitions discovered automatically. The sidebar keeps a live row count per kind using one limit=1 request per visible kind, six at a time, and folded groups request nothing from the cluster.

AI with screen context

ctrl+a opens a plain-English prompt in which the current context, namespace, kind and selected object are injected, so a question such as "why is this pod unhealthy?" refers to the specific pod on screen. Users supply their own API key: any OpenAI-compatible endpoint works, including Groq, Together, OpenRouter, vLLM, Ollama and LM Studio, as do Anthropic models — the README's terminal captures show claude-sonnet-5 as the default. Per the README, cluster data stays local unless a query is actually submitted in AI mode, and the only other network call the tool makes on its own is a once-a-day update check.

Demo, install and updates

An offline demo backend provides a realistic fake cluster — including a CrashLoopBackOff to investigate — reachable with k10s demo and no real cluster required. The demo behaves as a context, with a DEMO label in the header so sample data cannot be mistaken for a live cluster. A plain k10s invocation reads the same kubeconfig kubectl does ($KUBECONFIG, else ~/.kube/config), and a --readonly flag blocks anything that mutates the cluster.

Installation options include a curl install script (macOS and Linux, amd64 and arm64, sha256-verified against the release manifest), go install, or just install from a clone. Prebuilt static binaries cover darwin and linux on both architectures plus windows amd64, with the script directing Windows users to the release page. A built-in /update command installs the newest release over the running binary — checksum-verified and atomic — and offers to restart into it.

Why it matters

k9s has long been the default terminal dashboard for Kubernetes, but it leans on keyboard muscle memory and a command grammar. K10s bets that visible, clickable actions, unified search and genuinely lazy loading lower the friction of daily cluster work, while plugins.yaml compatibility gives existing k9s users a migration path rather than a hard switch. The context-aware AI prompt is also a sensible pattern: it answers questions about the exact object on screen instead of acting as a generic chatbot, and it keeps cluster data local by default. As with any young project, the startup and request-footprint claims are the authors' own and will be tested by real-world use.

  • #kubernetes
  • #terminal
  • #golang
  • #open-source
  • #dev-tools

Related posts