What I Learned Reading All 71 Articles of the Cyber Resilience Act

I read the whole of Regulation (EU) 2024/2847, every article and every annex, and mapped KubeAid and LinuxAid against it for my employer. These are the things that surprised me, the mental model I ended up with, and what I would tell the next engineer who has to do the same reading.

September 2026

Where Linux Meets Kubernetes: Six Mental Models for When top Isn't Enough

Processes and signals, namespaces and cgroups, memory, storage, networking, and identity: the mechanism behind each, the two or three ways it breaks under a pod, and the one check that confirms it. Written from on-call across 100+ production Kubernetes clusters.

September 2026

CiliumNetworkPolicy Anti-Patterns: 8 Ways Correct-Looking YAML Silently Drops Traffic

Lessons from writing CiliumNetworkPolicies for the KubeAid-addons chart - toServices port traps, labels Cilium ignores, toFQDNs without a DNS rule, default-deny surprises, and why every namespace needs exactly one default-deny.

August 2026

Ten Things to Get Right Before You Run Loki in Production

Deployment mode, object storage, label cardinality, multi-tenancy and auth, cross-cluster shipping, and the failures that are silent rather than loud. Written after moving a Loki install twice and debugging an object store that corrupted everything it was given.

August 2026

Why Your DaemonSet Rolling Update Gets Stuck on hostPort Pods

A breakdown of why DaemonSets using hostPort can get stuck in Pending during rolling updates, and why the default maxSurge/maxUnavailable settings aren't always right for them.

July 2026

MCP Explained: What It Is and Why It Exists

A breakdown of the Model Context Protocol - the problem it solves, its architecture, and how a tool call actually works under the hood.

July 2026

Pod Disruption Budgets Explained: How Kubernetes Protects You From Voluntary Disruptions

What a PodDisruptionBudget actually does, the difference between voluntary and involuntary disruptions, how the eviction API respects it, and the mistakes that quietly break node drains and cluster upgrades.

July 2026

Kubernetes Audit Logging: Stages, Levels, and Policy Design

A breakdown of how kube-apiserver audit events actually work - request stages, audit levels, writing policies, and how SREs tune them differently for prod vs dev clusters.

June 2026

Getting Started with CISO Assistant on Kubernetes

Deploying CISO Assistant via Helm, creating your first superuser, adding users, and how evidence storage actually works.

June 2026

The GNOME Extensions That Made Ubuntu More Fun To Use

A few GNOME extensions that genuinely improved my Ubuntu desktop experience, from useful clipboard history to ridiculous window-burning animations.

June 2026