mrkeyoor.com_
Tue 22 Sept 19:40 UTC
Self-Hostedevaluationupdated 22 Sept 2026

radar review

Radar is a local or self-hosted Kubernetes interface that combines resource browsing, topology, events, Helm, GitOps, traffic, audits, and upgrade checks. It also gives MCP-compatible coding agents a filtered view of a cluster, so they can investigate problems without chewing through raw Kubernetes YAML.

Verdict

Our Radar run installed 443 npm packages in 14 seconds and occupied 455 MB, but it exposed no npm build or test target, so source evaluation must use the documented Make workflow. Use the released binary if you want a private Kubernetes workbench with unusually broad diagnosis and a built-in MCP server. Hold off for strict multi-tenant read isolation, or keep kubectl in the loop for node drains until issue 1785 is resolved.

We ran it

Lab card: what happened when we ran radarScreenshot of radar (radarhq.io)
Install✓ · 14s443 packages · 455 MB
Buildn/ano build script
Testsn/ano test script
Known vulns40 critical · 2 high · 2 moderate · 0 low (npm audit)
Repo2684 files~761,633 lines of source · 44.7 MB · 10 CI workflows · Dockerfile

Answers from our run

Does radar build from source?

Dependencies installed in 14 seconds (443 packages), and the project has no separate build step. We cloned commit e7b176b into a clean Debian container with 3 CPUs and no project-specific setup.

Does radar have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does radar have known vulnerabilities in its dependencies?

npm audit flagged 4 known advisories in the dependency tree at the time of our run.

Who should not use radar?

Operators who expect a drain action to mean every pod has exited: open issue 1785 says Radar reports after eviction requests are accepted and may return while pods are still terminating.

What are the alternatives to radar?

Headlamp, K9s, Devtron. Our Radar run installed 443 npm packages in 14 seconds and occupied 455 MB, but it exposed no npm build or test target, so source evaluation must use the documented Make workflow.

Setup4/5Binary paths are easy; source checks use Make, Go, and npm
Docs5/5Detailed setup, auth, MCP, deployment, and development guides
Community5/53,433 stars and 83 open issues and PRs with same-day activity
Maturity4/5v1.14.1 is active; drain and Linux desktop bugs remain open

Who it’s for

Kubernetes operators who want a graphical companion to kubectl without sending cluster data to a hosted service.
Platform teams that need topology, events, Helm history, GitOps status, and cluster checks in one interface.
Developers who want Claude Code, Codex, Cursor, or another MCP client to inspect cluster evidence through existing RBAC.
Teams prepared to configure OIDC or an authentication proxy before sharing Radar over a network.

Who it’s NOT for

Operators who expect a drain action to mean every pod has exited: open issue 1785 says Radar reports after eviction requests are accepted and may return while pods are still terminating.
Multi-tenant teams that require per-kind authorization for every namespaced read: the authentication guide says most namespaced resources are filtered at namespace granularity, with tighter checks for Secrets and cluster-scoped kinds.
Ubuntu desktop users who depend on the YAML editor and related-resource navigation today: open issues 1360 and 1606 report crashes in those paths.
Teams seeking a view-only tool with safe defaults for an overpowered kubeconfig: local mode has no authentication by default, and Radar exposes edits, deletes, exec, port forwarding, and Helm actions when RBAC permits them.
Contributors whose build gate only runs npm scripts: our checkout had no npm build or test target, while the development guide requires Go 1.26+, Node.js 20+, npm, kubectl, and Make.

Setup reality

Our sandbox install at commit e7b176b succeeded in 14 seconds, adding 443 npm packages and using 455 MB. The 44.7 MB checkout held 2,684 files and about 761,633 source lines. There was no npm build or test script, so both steps were skipped. npm audit found 4 known vulnerabilities: 2 high and 2 moderate.

Using a release is simpler than building the source. The local binary needs kubectl access and a working kubeconfig. MCP listens on port 9280 by default. Metrics, live traffic, cost data, GitOps APIs, or shared login each need their matching service or credentials.

Source work follows Make targets and needs Go 1.26+, Node.js 20+, npm, and kubectl. Shared in-cluster use adds Helm, scoped RBAC, an ingress or Gateway, and OIDC or proxy authentication. Local mode has no authentication by default, so a non-loopback listener needs network controls.

Radar v1.14.1 puts cluster evidence and actions in one local UI

Radar v1.14.1 runs as a kubectl plugin, desktop application, or in-cluster service. It covers resources, topology, events, Helm, GitOps, traffic, cost data, audits, and upgrade impact. Radar makes sense when an operator keeps bouncing between kubectl, a Helm command, a metrics screen, and a GitOps console to explain one failure.

Our checkout contained 2,684 files and about 761,633 source lines before dependencies, despite occupying only 44.7 MB. Radar is mostly Go with React and TypeScript frontends, plus a Wails desktop shell. It is a local operations console rather than a light resource viewer. Released local mode talks directly to the Kubernetes API through your existing kubeconfig and needs no cluster agent.

The source build requires Go 1.26+, Node.js 20+, npm, and Make

The development guide names Go 1.26+, Node.js 20+, npm, kubectl access, and Make as prerequisites. make deps installs Go and frontend dependencies. Separate targets build the embedded binary, run Go tests, type-check TypeScript, build the desktop application, and create a Docker image. Source evaluation should follow those entry points instead of treating the root package manifest as the whole project.

Our npm harness installed 443 packages in 14 seconds and left 455 MB on disk. It found no npm build or test script, so both stages were skipped. This does not mean Radar has no build or tests. An npm-default automation job simply cannot exercise them. The repository had 10 CI workflow files and a Dockerfile, while documented checks live behind Make.

What happened when we ran it

Our run used commit e7b176b in an unprivileged Node 22 container with 3 CPUs, 8 GB of RAM, and no secrets. Installation succeeded in 14 seconds. The checkout held 2,684 files, about 761,633 source lines, and 44.7 MB. npm added 443 packages and expanded disk use to 455 MB. These are source-checkout costs, not a release binary size or runtime memory result.

Build and test were skipped because npm exposed no matching script or target. We did not substitute Make commands, so our run gives no pass or fail result for Radar's documented build and Go test suite. npm audit reported 4 known vulnerabilities, split between 2 high and 2 moderate, with none critical or low. The supplied log did not identify packages or fixes, so we cannot narrow those findings.

The MCP server is enabled by default on port 9280

Radar starts MCP at http://localhost:9280/mcp. It reduces Kubernetes output before an agent sees it, adding topology, health assessments, selected events, and filtered logs. Claude Code, Codex, Cursor, and other HTTP MCP clients can connect to the same process. Diagnosis is read-only by default. Restart, scale, apply, and rollback tools are marked for client confirmation and still pass through Kubernetes RBAC.

A codebase of roughly 761,633 source lines deserves a careful permissions review. The MCP guide says Radar omits Secret values and redacts environment values plus common credentials in logs. An MCP client is still attached to a process holding your Kubernetes identity. Use a least-privilege kubeconfig, remove write rights when the agent only needs evidence, and pass --no-mcp when you only want the UI.

Shared authentication filters most namespaced reads by namespace

Radar's authentication guide says most namespaced reads are authorized at namespace granularity instead of checking every resource kind per user. Secrets and cluster-scoped resources get tighter checks. One shared in-memory cache watches resources through Radar's service account, then the application filters results for each user. Teams needing harder tenant walls should run separate namespace-scoped instances for separate trust boundaries.

The repository included 10 CI workflows and a Dockerfile, and the project ships a Helm path for shared access. Production still needs choices about ServiceAccount permissions, ingress exposure, OIDC or proxy headers, session secrets, and metrics credentials. Local mode has no authentication by default. The README warns that non-loopback access needs authentication and network controls, an important limit for a console that can edit resources and open terminals.

Open issue 1785 makes node drains a manual verification step

Open issue 1785 says Radar treats accepted eviction requests as completion instead of waiting for every pod to disappear. The interface warns that pods may still be terminating, but the drain path returns early. Both the HTTP action and MCP's manage_node drain use that path. Before rebooting a node, verify separately that workloads with a termination grace period have exited.

GitHub showed 3,433 stars, 43 open issues, and 40 open pull requests on September 22, 2026. The last push landed that day, several pull requests changed the same day, and v1.14.1 arrived on September 17. Those are strong maintenance signals. Open Ubuntu desktop crash reports for the YAML editor and related-resource navigation still matter because Radar can sit in an operator's write path.

Radar is the right fit when one cluster question crosses several tools

Radar v1.14.1 is worth trying if you want cluster data to stay local and an agent to receive structured evidence instead of raw YAML. K9s is leaner for terminal work. Headlamp is the better pick when UI plugins drive the decision. Devtron suits teams seeking a wider delivery platform rather than a workstation-centered diagnostic console.

Our 14-second install and 455 MB dependency footprint make the frontend workspace easy to obtain, though they do not prove the Make build. Start with the released binary, a read-only kubeconfig, and one non-production cluster. Keep shared deployments behind real authentication. Until the drain behavior changes, verify that pods are gone before powering down a node.

Alternatives

ProjectWhat it isPick it when
HeadlampAn extensible Kubernetes web and desktop UI with a plugin system.pick this instead when UI extensions and a CNCF Kubernetes SIG project matter more than Radar's built-in diagnostics and MCP server.
K9s gh↗A terminal interface for navigating and operating Kubernetes clusters.pick this instead when you live in a terminal and want fast resource work without a browser, desktop shell, or MCP endpoint.
DevtronA larger Kubernetes application platform with deployment and operations workflows.pick this instead when your team wants a shared delivery platform and is willing to install more cluster-side infrastructure.

What people are saying

  1. [github-trending] skyhook-io/radar
  2. [velocity-scout] nhovongoc0-max/meme-radar
  3. [theverge] Anker’s sleep speaker uses radar and flower power to help you relax
  4. [producthunt] Radar by Particle
  5. [techcrunch-ai] Radar makes podcasts searchable — and usable by AI agents

Sources

  1. Radar repository and README
  2. Radar development guide
  3. Radar MCP guide
  4. Radar authentication guide
  5. Radar v1.14.1 release
  6. Open drain completion issue 1785
  7. Open Ubuntu YAML editor crash issue 1360
  8. Open Ubuntu related-resource crash issue 1606

More self-hosted reviews

sftpgo · mailcow-dockerized · openGym · BackPack · PanWatch · wiki · the whole board →