I publish notes, guides, incident reviews, and practical approaches from my daily work.
Main topics:
Kubernetes
DevOps
GitOps
CI/CD
Automation
AI agents
Engineering practices
Engineering documentation
Why Verification Should Be Defined Before Implementation
Why acceptance criteria and verification methods should be defined before implementation, so that the meaning of done is not adjusted to fit the resulting solution.
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.
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.
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.
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.
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:
...
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.
...
No newline at end of file: how one byte changes a Git diff
How a final newline differs from a blank line and why one byte affects git diff and git blame.
AGENTS.md as Part of DocOps
Why AGENTS.md should be seen not only as AI instructions, but also as part of a DocOps approach to engineering context.
Why a Good AGENTS.md Is Rarely Long
Why AGENTS.md should stay short and not replace README, ADR, CHANGELOG, or project documentation.
Cookies are used for analytics. They are loaded only after your consent.
Privacy policy