# Klustr vs Headlamp: desktop client or in-cluster dashboard

> Two open-source Kubernetes UIs compared: Headlamp’s plugin system and in-cluster mode against Klustr’s pure-client design, built-in Helm and GitOps, cert-manager views and RBAC review.

Headlamp is a Kubernetes SIG UI project with a plugin system, an in-cluster deployment mode and desktop builds. It is a natural comparison: both tools are open source, both read your kubeconfig, both support several clusters and both render Gateway API resources.

Facts about Headlamp come from its documentation and release notes and were reviewed on 2026-10-16. Corrections are welcome as [an issue](https://github.com/SametKUM/klustr/issues).

## At a glance

### The project

| Criterion | Klustr | Headlamp |
| --- | --- | --- |
| License and price | Apache-2.0, free | Apache-2.0, free |
| Runtime | Go + OS webview. Wails, no bundled browser | Electron or in-cluster web. Go backend, React frontend |
| Platforms | macOS, Linux, Windows. Windows build not code-signed | macOS, Windows, Linux, browser |

### What it needs from your cluster

| Criterion | Klustr | Headlamp |
| --- | --- | --- |
| Installed in the cluster | Nothing. Optional one-click metrics-server, removable from Klustr | Optional. Desktop app runs locally; web mode is deployed in-cluster |
| Account or sign-in | None. Your kubeconfig is the only credential | None on desktop. Token or OIDC when deployed in-cluster |

### Working across clusters

| Criterion | Klustr | Headlamp |
| --- | --- | --- |
| Several clusters at once | Aggregated table. Two or more contexts in one list, named groups, color tags | Multi-cluster view. Select clusters and compare side by side |
| RBAC | Access Review matrix. Subject to effective permissions with the binding chain | Roles and bindings |

### Platform tooling

| Criterion | Klustr | Headlamp |
| --- | --- | --- |
| Helm | Built in. Install, upgrade, rollback, uninstall with a dry-run diff; repo search | Via plugin. App Catalog plugin, bundled with the desktop app |
| Argo CD and Flux | Built in, through the API. Sync, refresh, reconcile, suspend; no CLIs | Via plugins. Official Flux plugin and Argo CD plugin (alpha) |
| Tekton | Typed views. PipelineRun task table, step logs, cancel and rerun; no tkn | Generic CRDs |
| Gateway API | Typed views. Listeners, rule matrix, RouteParentStatus | Built in. Including TCPRoute and UDPRoute |
| Istio | Typed views. VirtualServices, DestinationRules, PeerAuthentications | Via plugin. Community Istio plugins |
| Cilium | Typed views. Policies as rule tables, endpoints, IP pools, BGP | Generic CRDs |
| cert-manager | Typed views. Issuance chain and one-click renew | Via plugin. Official cert-manager plugin |
| Kyverno | Typed views. Policies, exceptions, policy reports and each policy’s violations | Via plugin. Official plugin with policy reports |
| Karpenter | Typed views. NodePools against their limits, NodeClaims, EC2NodeClasses | Via plugin. Official plugin, marked alpha |
| KEDA | Triggers on the HPA. ScaledObjects stay in the generic CRD browser | Via plugin. Official KEDA plugin |

### Day-to-day operations

| Criterion | Klustr | Headlamp |
| --- | --- | --- |
| Logs | Multi-pod stream. Per-pod colors, follow, regex, save | Per container |
| Shell access | Exec, debug container, node shell | Pod terminal |
| Local terminal | Drawer per context. KUBECONFIG preset to the active context | None |

[Headlamp website](https://headlamp.dev/)

## Where Klustr is different

- **Never runs in the cluster.** Headlamp can be deployed as an in-cluster web UI or run as a desktop app. Klustr only runs on your machine and installs nothing in the cluster; there is no deployment to expose, upgrade or secure.
- **Helm, Argo CD and Flux without plugins.** Headlamp covers them through official plugins, the Argo CD one still in alpha. Klustr ships Helm v3 with a dry-run diff, Argo CD sync and refresh, and Flux reconcile and suspend, with no plugins or CLIs.
- **Tekton, Cilium and the other platform tools built in.** Headlamp has no Tekton or Cilium plugin, and covers cert-manager, Kyverno and Karpenter through official plugins and Istio through community ones. Klustr ships typed views for all of them, including a PipelineRun task table with step logs, the full certificate issuance chain with one-click renew, and Cilium policies as rule tables.
- **Access Review.** Headlamp lists roles and bindings. Klustr computes a subject’s effective permissions as a matrix with the binding chain behind every entry.
- **Aggregated rows, not side-by-side panes.** Both tools support several clusters. Headlamp compares clusters side by side; Klustr merges them into one table with a Context column so a fleet reads as one cluster.
- **Operations from the desktop.** A local terminal drawer bound to the active context, a root node shell, cordon and PDB-aware drain, and ephemeral debug containers for shell-less images.

## Where Headlamp is stronger

- **In-cluster mode for a team.** Deploy Headlamp once with OIDC and every teammate gets a browser UI without installing anything locally.
- **Plugin ecosystem and resource map.** Headlamp has a documented plugin API and a resource relationship map.
- **KEDA.** Headlamp’s official KEDA plugin lists and manages KEDA resources. Klustr maps KEDA triggers onto the HPAs they drive and leaves ScaledObjects in the generic CRD browser.
- **CNCF governance.** Headlamp is a Kubernetes SIG UI project with community governance, and the UI the archived Kubernetes Dashboard points its users to. Klustr is a single-maintainer open-source project.

## Which one to pick

Pick Headlamp for a shared, in-cluster web UI or if you want to write plugins. Pick Klustr for a desktop client that installs nothing, treats Helm, GitOps and cert-manager as first-class and can show several clusters as one.
