# tail -f blog.log

The Blog

Field notes on platform engineering, Kubernetes, Cloud Foundry and CI/CD — real incidents, generalised and stripped of anything landscape-specific.

Kubernetes passing
16 Sept 2026

The NetworkPolicy Drop That Looked Like Three Different Bugs

A missing egress port, a flawed debug test, and a live patch that kept silently reverting — how one dropped Kafka connection sent an investigation down three wrong paths first.

KubernetesNetworkingIncident Response
6 min read
Kubernetes passing
12 Aug 2026

Zero-Downtime Kubernetes Deploys: The Checklist I Actually Use

Rolling updates, readiness probes, PodDisruptionBudgets and the CI/CD gates that turn 'it should be fine' into a guarantee.

KubernetesCI/CDReliability
6 min read
Platform Engineering passing
1 Jul 2026

Governing a Sovereign Cloud Platform Without Slowing Teams Down

Notes from building an operational delivery function for a regulated, national-infrastructure cloud platform — where governance has to be an enabler, not a gate.

Platform EngineeringGovernanceSovereign Cloud
7 min read
Infrastructure as Code passing
20 May 2026

Terraform at Scale: From One Landing Zone to Twenty Teams

What actually breaks when Terraform grows from a single account to a shared platform — state, modules, and the boring conventions that save you.

TerraformIaCAWSGCP
5 min read
Kubernetes passing
8 Apr 2026

Why 'No Errors Found' Can Mean Your Tooling Couldn't Check

A short-lived cluster credential expired mid-investigation and quietly turned every log sweep into a false all-clear. The failure mode that should worry you most is the one that looks like success.

KubernetesObservabilityTooling
4 min read
Team passing
3 Mar 2026

Leading a Platform Team Is Mostly a People Problem

Eight engineers, one 24/7 production platform, and a constant stream of requests that are rarely just technical. Notes on rotas, upskilling and the parts of the job nobody puts in the job description.

Team LeadershipOn-CallPeople
7 min read
Cloud Foundry passing
14 Feb 2026

When the Backend Recovers but the App Still Can't Reach It

A message broker's HA failover completed cleanly in three minutes. Client apps kept failing for fifteen more. The gap between those two numbers is where the real bug was hiding.

Cloud FoundryNetworkingKubernetes
5 min read
Cloud Foundry passing
5 Jan 2026

The Leader Election That Was Looking for a Sidecar That Wasn't There

A Cloud Foundry app kept failing to connect to localhost:80 for something it never should have been talking to localhost about. It had brought a Kubernetes assumption with it that didn't survive the move.

Cloud FoundryKubernetesPlatform Engineering
5 min read
Kubernetes passing
24 Nov 2025

Anatomy of a Cluster-Wide Outage: When One Component's Bad Luck Breaks Every Node

A CNI sync component lost both replicas to a run of bad scheduling luck, and for about an hour, no node in the cluster could route Service traffic — including nodes that never stopped reporting healthy.

KubernetesIncident ResponseReliability
7 min read
CI/CD passing
30 Aug 2025

Two Boring Pipeline Bugs That Teach a Bigger Lesson

A blank config default that silently meant 'no image pinned,' and a deploy stage for a component that no longer existed. Neither is exciting. Both should have been impossible.

CI/CDPlatform EngineeringAutomation
4 min read
CI/CD passing
17 Jun 2025

The Pipeline That Didn't Fail — It Just Waited Forever

A submodule clone inside a CI task hit a credential prompt no human would ever see, and instead of failing, it just sat there. A hang is a worse failure mode than an error, and it's usually self-inflicted.

CI/CDConcourseGit
5 min read