<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nadav Erell</title>
    <description>The latest articles on DEV Community by Nadav Erell (@nadaverell).</description>
    <link>https://dev.to/nadaverell</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3749337%2F54a4d440-7b70-474c-babc-869b6a2cc576.png</url>
      <title>DEV Community: Nadav Erell</title>
      <link>https://dev.to/nadaverell</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nadaverell"/>
    <language>en</language>
    <item>
      <title>Why we stopped using Lens and built a new OSS K8s IDE/Dashboard</title>
      <dc:creator>Nadav Erell</dc:creator>
      <pubDate>Thu, 05 Feb 2026 19:22:40 +0000</pubDate>
      <link>https://dev.to/nadaverell/why-we-stopped-using-lens-and-built-a-new-oss-k8s-idedashboard-ain</link>
      <guid>https://dev.to/nadaverell/why-we-stopped-using-lens-and-built-a-new-oss-k8s-idedashboard-ain</guid>
      <description>&lt;p&gt;And why you should take 15 seconds to try it yourself :)&lt;/p&gt;

&lt;h3&gt;
  
  
  The "Good Old Days" of K8s Debugging
&lt;/h3&gt;

&lt;p&gt;If you've been working with Kubernetes for a few years, you probably remember when &lt;strong&gt;Lens&lt;/strong&gt; was the undisputed king of local development. It was fast, it was free, and it just worked. It was just so nice to not have to &lt;em&gt;always&lt;/em&gt; resort to plain &lt;code&gt;kubectl&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Of course, things haven't stayed that way...&lt;/p&gt;

&lt;p&gt;Lens got acquired and is no longer open source. It also got bloated and slow, and requires you to log in. &lt;/p&gt;

&lt;p&gt;Alternatives and forks like &lt;strong&gt;Freelens&lt;/strong&gt; and &lt;strong&gt;Headlamp&lt;/strong&gt; exist, but they're just... ok. Not very feature rich, somewhat plain UI, awkward setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;K9s&lt;/strong&gt; is great sometimes, for some people... but the terminal experience is not for everyone, and it's still limiting for lots of things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kubernetes Dashboard&lt;/strong&gt; was another option that got some traction as an official tool, but it was never exceptional, and now that's shut down too.&lt;/p&gt;

&lt;p&gt;So our team at Skyhook got frustrated and one day asked: what if we just built the tool we ourselves would want to use? We've already been doing related pieces of this as part of the main Skyhook platform.&lt;/p&gt;

&lt;p&gt;So without further ado:&lt;/p&gt;

&lt;h3&gt;
  
  
  Meet Radar
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/skyhook-io/radar" rel="noopener noreferrer"&gt;Radar&lt;/a&gt;&lt;/strong&gt; is our attempt to fix the local K8s development experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwb6t9h9m9ooga34n6zu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwb6t9h9m9ooga34n6zu.png" alt="Radar Main View" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We had a few design rules:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Local-First:&lt;/strong&gt; No cloud logins. No data leaving the machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Config:&lt;/strong&gt; It uses your existing &lt;code&gt;~/.kube/config&lt;/code&gt;. It should just work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fast:&lt;/strong&gt; We hate waiting on slow tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time:&lt;/strong&gt; No "Refresh" buttons. If a pod dies, I want to see it turn red instantly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  How we built it (The Tech Stack)
&lt;/h3&gt;

&lt;p&gt;Instead of wrapping a heavy web app in Electron, we built Radar as a single &lt;strong&gt;Go binary&lt;/strong&gt; with a React frontend embedded inside (using &lt;code&gt;go:embed&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;To get that "instant" feel, we avoided the standard API polling. Instead, we use &lt;strong&gt;Kubernetes SharedInformers&lt;/strong&gt;—the same machinery that K8s controllers use internally.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We open a persistent connection to the API server.&lt;/li&gt;
&lt;li&gt;We watch for deltas (add/update/delete events).&lt;/li&gt;
&lt;li&gt;We push those changes to the browser frontend via &lt;strong&gt;Server-Sent Events (SSE)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now everything is super fast, updates in real time. Just works.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cool things you can do
&lt;/h3&gt;

&lt;p&gt;Beyond the table-stakes resource browsing, we added features specifically for the "what is going on?" debugging moments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Topology Graph:&lt;/strong&gt; We use a structured DAG layout (not a bouncy physics graph) so you can actually see ownership chains and ingress paths.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitOps Native:&lt;/strong&gt; If you use Flux or ArgoCD, Radar shows their sync status and common operations right alongside the workloads they manage. No plugins required.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Helm Dashboard:&lt;/strong&gt; View, manage, search and install new charts. See their health, upgrade versions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network Visualization:&lt;/strong&gt; See real data flows across your microservices and in/out of your cluster, with support for Hubble (for Cilium) and Caretta.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timeline:&lt;/strong&gt; Because sometimes you really need to track what happened, not just the current state. See events and resource changes over time, grouped by connected resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Filesystem Viewer:&lt;/strong&gt; A nice hidden gem - browse the files &lt;em&gt;inside&lt;/em&gt; a container image directly from the UI without &lt;code&gt;exec&lt;/code&gt;-ing in.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Try it out
&lt;/h3&gt;

&lt;p&gt;It’s open source (Apache 2.0), no surprises.&lt;/p&gt;

&lt;p&gt;Quick install (15 seconds to install and see live dashboard - yes we timed it):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; skyhook.io/get-radar.sh | bash &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; kubectl radar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or install with brew, krew, scoop, or direct download - check out the repo: &lt;strong&gt;&lt;a href="https://github.com/skyhook-io/radar" rel="noopener noreferrer"&gt;github.com/skyhook-io/radar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We built this because we needed it, but we’re hoping it helps other devs who are tired of fighting their tools. Let me know what you think!&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>opensource</category>
      <category>go</category>
    </item>
  </channel>
</rss>
