<?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: UDAWPK</title>
    <description>The latest articles on DEV Community by UDAWPK (@udawpk_ed5db9215291bfd07d).</description>
    <link>https://dev.to/udawpk_ed5db9215291bfd07d</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4093700%2Fa7336d69-ed69-4025-b2d7-9e63193abc96.jpg</url>
      <title>DEV Community: UDAWPK</title>
      <link>https://dev.to/udawpk_ed5db9215291bfd07d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/udawpk_ed5db9215291bfd07d"/>
    <language>en</language>
    <item>
      <title>0.25.3: the manifest linter is on by default now (and the telemetry prompt we promised is live)</title>
      <dc:creator>UDAWPK</dc:creator>
      <pubDate>Wed, 14 Oct 2026 08:56:30 +0000</pubDate>
      <link>https://dev.to/udawpk_ed5db9215291bfd07d/0253-the-manifest-linter-is-on-by-default-now-and-the-telemetry-prompt-we-promised-is-live-39ba</link>
      <guid>https://dev.to/udawpk_ed5db9215291bfd07d/0253-the-manifest-linter-is-on-by-default-now-and-the-telemetry-prompt-we-promised-is-live-39ba</guid>
      <description>&lt;p&gt;Every ROZOOM release before 0.25.3 shipped the manifest linter off. You could turn it on per cluster, but nothing was checked unless you went looking for the toggle — which meant most people never saw it, and the first sign of a bad manifest was still &lt;code&gt;kubectl apply&lt;/code&gt; failing, or worse, succeeding with the wrong value.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changed
&lt;/h2&gt;

&lt;p&gt;The linter is on by default for every cluster you connect, starting the moment you connect it. No setup, no toggle to find first.&lt;/p&gt;

&lt;p&gt;What it actually checks, straight from the linter code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Valid YAML syntax (multi-document aware)&lt;/li&gt;
&lt;li&gt;Duplicate keys within the same scope&lt;/li&gt;
&lt;li&gt;Bad indentation — tabs are rejected outright, odd (non-2-space) indentation gets flagged&lt;/li&gt;
&lt;li&gt;Schema validation against the real Kubernetes API via kubeconform — wrong field names, wrong types, missing required fields&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of that logic is new. What's new is that it runs without you asking.&lt;/p&gt;

&lt;p&gt;You can still turn it off, same as before — per cluster from the cluster card, or everywhere from a sidebar toggle. The cluster card now also tells you how to turn the linter back on if it's off, so the setting doesn't disappear once you've touched it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The telemetry prompt we said was coming
&lt;/h2&gt;

&lt;p&gt;Back in September we wrote about shipping a consent flow before turning on any collection. 0.25.3 is the release where that prompt actually goes live.&lt;/p&gt;

&lt;p&gt;It shows up once, after your first scan finishes — not during onboarding, not before you've done anything. The ask: anonymous usage counts for three core actions, an anonymous install hash, no personal data, no session recording. Click "No thanks" and it's off permanently, no re-asking. Close the toast without choosing and it comes back after your next first scan. Running with Do Not Track on, or without a telemetry key configured at all, skips the prompt entirely — there's nothing to consent to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this sits free vs. paid
&lt;/h2&gt;

&lt;p&gt;Both of these — the linter and the telemetry controls — ship in the same free, Apache 2.0 build as everything else. There's no paid tier that unlocks local features. The only line we draw is hosted functionality that needs our own server; anything that runs on your machine stays free.&lt;/p&gt;

&lt;p&gt;Full release notes, checksums and signatures: &lt;a href="https://github.com/ceh13-community/rozoom/releases/tag/app-v0.25.3" rel="noopener noreferrer"&gt;app-v0.25.3 on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ROZOOM is Apache 2.0: &lt;a href="https://github.com/ceh13-community/rozoom" rel="noopener noreferrer"&gt;github.com/ceh13-community/rozoom&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rozoom.app" rel="noopener noreferrer"&gt;https://rozoom.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>opensource</category>
      <category>devops</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Why our Kubernetes UI installer used to be 500 MB (and isn't anymore)</title>
      <dc:creator>UDAWPK</dc:creator>
      <pubDate>Thu, 01 Oct 2026 19:42:20 +0000</pubDate>
      <link>https://dev.to/udawpk_ed5db9215291bfd07d/why-our-kubernetes-ui-installer-used-to-be-500-mb-and-isnt-anymore-gb8</link>
      <guid>https://dev.to/udawpk_ed5db9215291bfd07d/why-our-kubernetes-ui-installer-used-to-be-500-mb-and-isnt-anymore-gb8</guid>
      <description>&lt;p&gt;Every ROZOOM release used to ship one installer per platform, and it bundled the full CLI toolset whether you used it or not — &lt;code&gt;kubectl&lt;/code&gt;, &lt;code&gt;helm&lt;/code&gt;, plus about 20 more tools like &lt;code&gt;velero&lt;/code&gt;, &lt;code&gt;trivy&lt;/code&gt;, &lt;code&gt;doctl&lt;/code&gt;, &lt;code&gt;stern&lt;/code&gt;, &lt;code&gt;kustomize&lt;/code&gt;. On Linux that meant a build pushing half a gig for a tool most people run against a cluster they already manage day to day.&lt;/p&gt;

&lt;p&gt;0.25.0 splits that into two builds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Slim vs full-offline
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Slim&lt;/strong&gt; still bundles &lt;code&gt;kubectl&lt;/code&gt; and &lt;code&gt;helm&lt;/code&gt; right inside the binary, as sidecar tools — no system install, no PATH dependency. What it drops is the extended CLI set: &lt;code&gt;velero&lt;/code&gt;, &lt;code&gt;trivy&lt;/code&gt;, &lt;code&gt;doctl&lt;/code&gt;, &lt;code&gt;stern&lt;/code&gt;, &lt;code&gt;kustomize&lt;/code&gt; and about 16 more. Those features aren't broken in slim, they're just hidden in the UI. It's the default download.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full-offline&lt;/strong&gt; ships everything: the full CLI set and all assets, for machines with no internet access at all — air-gapped clusters, restricted networks. Across platforms it runs 199-486 MB.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Slim&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Windows (.exe)&lt;/td&gt;
&lt;td&gt;31.6 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows (.msi)&lt;/td&gt;
&lt;td&gt;46 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;macOS (.dmg, Apple Silicon)&lt;/td&gt;
&lt;td&gt;42.3 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux (.deb/.rpm)&lt;/td&gt;
&lt;td&gt;47.1 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux (.AppImage)&lt;/td&gt;
&lt;td&gt;115.4 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you already installed ROZOOM before 0.25.0, you're on full-offline. Slim installs from 0.25.0 on update themselves automatically going forward; anything on 0.23.1 or older gets the full-offline build until you switch by hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  How that compares
&lt;/h2&gt;

&lt;p&gt;We checked what a comparable open-source desktop Kubernetes UI ships. Headlamp's Linux &lt;code&gt;.deb&lt;/code&gt; (v0.45.0) is 124 MB. ROZOOM's slim &lt;code&gt;.deb&lt;/code&gt;/&lt;code&gt;.rpm&lt;/code&gt; is 47.1 MB — same package format, about 2.6x smaller.&lt;/p&gt;

&lt;p&gt;The Linux &lt;code&gt;.AppImage&lt;/code&gt; build doesn't get the same win: 115.4 MB, barely under Headlamp's 124 MB. We're still checking with engineering why AppImage doesn't shrink the way the other slim builds do — if you're on Linux and size matters, &lt;code&gt;.deb&lt;/code&gt;/&lt;code&gt;.rpm&lt;/code&gt; is the smaller path right now, not AppImage.&lt;/p&gt;

&lt;p&gt;That gap between 47 MB and 486 MB on the full-offline end is the same admission either way: we shipped that size by default for months before splitting the build. The split exists because bundling everything by default was the wrong tradeoff for the common case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Full release notes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/ceh13-community/rozoom/releases/tag/app-v0.25.0" rel="noopener noreferrer"&gt;app-v0.25.0 on GitHub&lt;/a&gt; — platform-by-platform artifact table, checksums, signatures.&lt;/p&gt;

&lt;p&gt;ROZOOM is Apache 2.0: &lt;a href="https://github.com/ceh13-community/rozoom" rel="noopener noreferrer"&gt;github.com/ceh13-community/rozoom&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rozoom.app" rel="noopener noreferrer"&gt;https://rozoom.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>opensource</category>
      <category>devops</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>What it takes to trust an open-source app that updates itself</title>
      <dc:creator>UDAWPK</dc:creator>
      <pubDate>Fri, 18 Sep 2026 11:59:27 +0000</pubDate>
      <link>https://dev.to/udawpk_ed5db9215291bfd07d/what-it-takes-to-trust-an-open-source-app-that-updates-itself-3i7e</link>
      <guid>https://dev.to/udawpk_ed5db9215291bfd07d/what-it-takes-to-trust-an-open-source-app-that-updates-itself-3i7e</guid>
      <description>&lt;p&gt;An auto-updater is a strange thing to ship in open source. You're asking someone who chose your project specifically because they could read the code to now trust a binary that lands on their machine without them clicking anything.&lt;/p&gt;

&lt;p&gt;ROZOOM's &lt;a href="https://github.com/ceh13-community/rozoom/releases/tag/app-v0.23.0" rel="noopener noreferrer"&gt;0.23.0 release&lt;/a&gt; ships the first version of that channel: a background check, a silent download, and one entry in the notification bell - no toast, no modal stealing focus - "Rozoom 0.23.1 is ready / Restart to finish updating," with a single action, "Restart now." Nothing else changes until you click it.&lt;/p&gt;

&lt;p&gt;Here's what that channel actually is, and what happened before we trusted it enough to ship it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually updates itself
&lt;/h2&gt;

&lt;p&gt;The updater works on AppImage (Linux), Windows, and macOS (Apple Silicon) builds. Deb and rpm packages don't auto-update - that's not a footnote, it's the whole story if you're on one of those: you keep updating by hand, the way you already do.&lt;/p&gt;

&lt;p&gt;If you're on 0.22.6, this update won't find you automatically. 0.22.6 doesn't have an updater in it at all - there was nothing there to check with. Install 0.23.0 by hand, once. From there, supported platforms take over.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that isn't in the release notes
&lt;/h2&gt;

&lt;p&gt;Every update ROZOOM downloads gets checked against a signing key before it's allowed to install. Get that key wrong once and you've built a supply chain for anyone who compromises it.&lt;/p&gt;

&lt;p&gt;Ours almost was. The key pair got sent through a messenger app before it ever shipped - a private key and its password, together, outside the places we'd normally trust either. No release had used it yet, so we didn't debate it: we rotated the pair and treated the old one as burned. The cost of doing that before publishing is one line in a config file. After publishing, it's every installed copy losing its update channel for good.&lt;/p&gt;

&lt;p&gt;The second thing was less dramatic and more revealing. Turning on this feature meant making the AppImage build a hard requirement instead of a "best effort" step - and the moment we did, it stopped passing. It turned out our AppImage build had been silently failing behind a &lt;code&gt;continue-on-error&lt;/code&gt; flag since 0.22.3. Every Linux release for months had shipped without one, and CI stayed green the whole time.&lt;/p&gt;

&lt;p&gt;Fixing it for real took three passes, each one a public PR:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the build was resolving system libraries from vendored dependency folders instead of the host, and fell over (&lt;a href="https://github.com/ceh13-community/rozoom/pull/160" rel="noopener noreferrer"&gt;#160&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;that fix exposed a second one: a GTK plugin inheriting the same lookup path and grabbing an incompatible zlib (&lt;a href="https://github.com/ceh13-community/rozoom/pull/161" rel="noopener noreferrer"&gt;#161&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;only after both landed did a full run go green on Linux, Windows, and macOS together (&lt;a href="https://github.com/ceh13-community/rozoom/pull/159" rel="noopener noreferrer"&gt;#159&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we watched happen
&lt;/h2&gt;

&lt;p&gt;0.23.1 existed for exactly one reason: prove the update path works outside CI, on a real machine, not just that the artifacts exist. We installed 0.23.0 fresh, let the updater find 0.23.1 on its own, and let it run start to finish - background check, silent download, one entry in the bell.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5lzw89y85vnem9a5r31h.jpeg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5lzw89y85vnem9a5r31h.jpeg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clicked "Restart now," confirmed the one prompt it puts up - any open exec sessions close - and the app came back. Sidebar showed 0.23.1, notification gone, binary hash matching the published release asset.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz2hnya0882a6q2z814n5.jpeg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz2hnya0882a6q2z814n5.jpeg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Open source
&lt;/h2&gt;

&lt;p&gt;ROZOOM is Apache 2.0: &lt;a href="https://github.com/ceh13-community/rozoom" rel="noopener noreferrer"&gt;github.com/ceh13-community/rozoom&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rozoom.app" rel="noopener noreferrer"&gt;https://rozoom.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>opensource</category>
      <category>security</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>We built a Kubernetes UI that scores your cluster, not just shows it</title>
      <dc:creator>UDAWPK</dc:creator>
      <pubDate>Tue, 25 Aug 2026 08:06:03 +0000</pubDate>
      <link>https://dev.to/udawpk_ed5db9215291bfd07d/we-built-a-kubernetes-ui-that-scores-your-cluster-not-just-shows-it-13b1</link>
      <guid>https://dev.to/udawpk_ed5db9215291bfd07d/we-built-a-kubernetes-ui-that-scores-your-cluster-not-just-shows-it-13b1</guid>
      <description>&lt;p&gt;Every Kubernetes UI we tried does the same thing: it shows you what's running. Pods, namespaces, nodes, workloads. kubectl does this in text. Lens and Headlamp do it in a GUI. k9s does it in a terminal. All of them answer "what's there."&lt;/p&gt;

&lt;p&gt;None of them answer "what's actually wrong, and what should I fix first."&lt;/p&gt;

&lt;p&gt;That's the gap we built ROZOOM to close.&lt;/p&gt;

&lt;p&gt;The problem: state isn't the same as health&lt;/p&gt;

&lt;p&gt;You can stare at a dashboard full of green pods and still be one misconfigured resource limit away from an incident. Visibility tools show you the cluster. They don't tell you which of the 40 things you're looking at actually matters right now.&lt;/p&gt;

&lt;p&gt;We kept ending up back in kubectl, cross-referencing symptoms manually, because nothing we used would just tell us: here's what's broken, here's what's risky, here's what to fix first.&lt;/p&gt;

&lt;p&gt;What we built&lt;/p&gt;

&lt;p&gt;ROZOOM is a desktop app (Tauri + SvelteKit, macOS/Linux/Windows) that connects to a cluster and runs two scores against it:&lt;/p&gt;

&lt;p&gt;• Runtime Health Score: what's failing right now across control plane, nodes, workloads, observability, and platform hygiene.&lt;br&gt;
• Config Reliability &amp;amp; Security Score: configuration risks that are likely to cause an incident before they do.&lt;/p&gt;

&lt;p&gt;Issues are ranked by impact, with remediation guidance attached. You're not scrolling through every resource looking for the one that matters. It's surfaced.&lt;/p&gt;

&lt;p&gt;How it connects&lt;/p&gt;

&lt;p&gt;30-second version: download the installer, launch, click "Connect a cluster."&lt;/p&gt;

&lt;p&gt;• Local cluster (minikube, kind, k3d, Docker Desktop), auto-detected, one-click read-only scan, connect.&lt;br&gt;
• Remote cluster: paste the API server URL and a service-account token. No OIDC setup required for this path.&lt;br&gt;
• Existing kubeconfig also works, including OIDC, cloud import, exec plugins, and Vault.&lt;/p&gt;

&lt;p&gt;There's no agent, no operator, no DaemonSet. Nothing gets installed on the cluster. ROZOOM talks to the API server directly from your machine, the same way kubectl does. Disconnect, and nothing is left behind.&lt;/p&gt;

&lt;p&gt;Where this sits next to what you already use&lt;/p&gt;

&lt;p&gt;• vs Lens: both are desktop apps, so that's not the difference. The difference: no sign-in, no cloud account, Apache 2.0 license, and scoring instead of just a tree view.&lt;br&gt;
• vs k9s: k9s is faster if you already live in a terminal. ROZOOM is for the moment you need to hand a cluster to someone who doesn't, and still get a ranked answer instead of a wall of resources.&lt;br&gt;
• vs Headlamp: closest in spirit (open source, GUI). The scoring and ranked remediation is the part we haven't seen elsewhere.&lt;/p&gt;

&lt;p&gt;Open source&lt;/p&gt;

&lt;p&gt;ROZOOM is Apache 2.0: github.com/ceh13-community/rozoom | &lt;a href="https://rozoom.app" rel="noopener noreferrer"&gt;https://rozoom.app&lt;/a&gt;. If you're building health signals or config risk checks for Kubernetes, that's exactly the kind of contribution we want.&lt;/p&gt;

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