This is Part 1 of a two-part series. Part 2 (coming soon): Connecting to spoke clusters from a controller using multicluster-runtime, driven by ClusterProfile. The Cluster Inventory API (multicluster.x-k8s.io) is driven by SIG-Multicluster and centered on the ClusterProfile resource. It only delivers value when something produces those ClusterProfiles. That something is a cluster manager. Today, t
When developers travel, we usually prepare the obvious things. Laptop charger. But there is one dependency that is easy to underestimate until it breaks: mobile internet. A trip to China makes this especially obvious. Not because China is hard to travel in, but because so many basic interactions are mobile-first: navigation, translation, ride-hailing, hotel communication, ticket confirmations, pay
A defaced website is a curious problem. It's loud — anyone visiting the page can see something is wrong. But it's also quiet from a server's perspective: HTTP returns 200, your uptime monitor is happy, your TLS cert hasn't moved, and the CMS logs show a "successful" content update from a legitimate-looking session. The signal is on the rendered page, not in the metrics. I run a site at hi3ris.blue
You just ran a dependency scan and the report shows 133 vulnerabilities. 34 are Critical. 68 are High. The dashboard is red, the backlog is exploding, and every item looks urgent. The engineering team asks the obvious question: where do we start? This is where vulnerability remediation prioritization matters. Without a clear framework, teams either panic and chase the loudest CVE, or they ignore t
We've been there. JSON Schema gets hard to write as soon as your payload is non-trivial. Conditional logic, cross-field rules, business invariants, and at some point we stop writing contracts at all. We go code-first, generate the schema from annotations, and end up with 200 lines very few understand, and error messages referencing paths like #/properties/items/allOf/0/then/Then that map to nothin
Three times in a decade. That's how often a Linux copy-primitive bug has blown a hole through container isolation. In 2016 it was Dirty COW. In 2024 it was Leaky Vessels. In 2026, a new class of Linux copy-primitive bugs is proving, again, that containers share a kernel. And that kernel keeps betraying them. The pattern is hard to ignore. Bugs in how the Linux kernel copies, references, or manages
Originally published on graycloudarch.com. You just merged a PR. Now you open Jira, find the ticket, paste the PR link in a comment, transition the status to Done, and update the deployed field. Five minutes. Twenty times a week. That's 1,700 minutes per year per engineer — nearly 30 hours of pure mechanical overhead. And that's assuming you remember. On one team I worked with, we audited the last
You write a Dockerfile, run docker build, and get an image. But what’s really happening under the hood? Docker isn’t just “building” your app — it’s assembling a stack of immutable filesystem layers. Docker doesn’t build applications — it builds filesystem snapshots layer by layer. Let’s break it down. A Docker image is not a single file. stack of read-only layers. Every instruction in your Docker