A cylinder passes through a circular opening with a matching profile: the delivered release matches the expected result.

Where Deployment Actually Ends

Why a successful GitOps flow does not prove publication, and how checking the expected revision ties a release to the site response.

September 9, 2026
An inspection frame reveals a broken connection between two engineering modules

Public Explanation as a Test of an Engineering Solution

How a public draft helps reconstruct a causal chain, expose hidden dependencies, and define the guarantees of an engineering solution.

August 6, 2026
A unified line transfers an artifact from the documentation repository through GitOps into Kubernetes

How CI/CD and Flux Split Responsibilities in a DocOps Project

How an article moves through two repositories, where CI ends, and which part of delivery belongs to Flux.

July 30, 2026
Validation separates a temporary change branch from the branch watched by Flux

Why CI in a GitOps Repository Is Not a Deployment Gate

Why CI does not block Flux after a direct push, and how a Merge Request with required checks moves validation before the watched branch.

July 30, 2026
Scattered ticket artifacts are transformed into compact reusable engineering knowledge

How to Preserve Engineering Knowledge from Tickets and Chats

How to turn ticket histories and chat discussions into documentation, checks, and automation that engineers can reuse.

July 25, 2026
A new execution session crosses a separate authorization boundary into an existing container

Why kubectl exec Requires create in RBAC

An authorization error from kubectl exec often looks illogical: cannot create resource "pods/exec" The Pod already exists. The command does not create another Pod or modify its specification. get or update might therefore seem like the expected permission, but Kubernetes checks for create. The reason is that RBAC describes Kubernetes API operations, not the literal meaning of kubectl commands. exec is a separate subresource kubectl exec does not operate directly on the pods resource. It calls the pods/exec subresource: ...

July 21, 2026
One apparently healthy node drifts from the shared configuration baseline

A Ready Node Can Still Drift from Its Baseline

A green Ready status and a correct node configuration are not the same guarantee. Consider several node classes with configuration baselines in Git. The baselines define resource reservations, eviction thresholds, and image garbage collection settings. Actual host files can differ from those baselines while Kubernetes continues reporting the nodes as ready. This scenario lets us examine the problem without describing a particular cluster or operations tool. A node can work now yet react differently from its peers once memory or disk becomes scarce. ...

July 16, 2026
Several unstable components converge on one exhausted system resource

How an inotify watchers limit caused kubelet instability

Troubleshooting an unstable Kubernetes node caused by an exhausted inotify watchers limit.

June 18, 2026
Several consumers collectively fill a constrained system resource

Who consumes inotify watchers in Kubernetes

An overview of the processes that consume inotify watchers and why this Linux limit should be part of infrastructure capacity planning.

June 18, 2026