$ whoami

I'm Martin Strhársky, a DevOps lead in Slovakia. I lead a team that builds the internal platforms a multi-team product estate ships on: pipeline template libraries, Terraform module platforms, shared GitHub Actions workflows, org-wide repository governance as code, and the identity and policy layer that keeps it compliant without slowing anyone down. Mostly on Azure, which is where nearly everything I write about happens.

I am also the "migration specialist", a title nobody awarded me and everybody uses. Tenant moves, platform moves, the kind of migration that gets handed to whoever did the last one. Enough of them by now that the pattern is more interesting than any individual case.

The teams that consume what we build mostly never think about it. That's the point.

What I write about here

How I worked through a problem, and the reasoning behind what I chose. Not a prescription. Our constraints are not yours, and copying our answer into a different context usually goes badly. What travels is the thinking: what broke, what we tried, what it cost, and what I would look at first if I met it again.

Take it as inspiration and build your own version. If an article does not tell you what it cost, it is not finished.

Recurring themes: convention over configuration at org scale, keeping a large estate current without a full-time human on it, identity and tenant boundaries, and how to make an AI assistant trustworthy enough to delegate real work to.

Why this site exists

I have been writing and sharing for a while, in feeds and threads and other people's platforms. The goal has always been the same: if something took me two weeks to work out, writing it down might save somebody else the two weeks.

What was missing was a roof. Everything lives here now, in one place, in full, and it stays. Some pieces appear on LinkedIn too, and this is the copy that does not scroll away.

How it runs

This site runs on my own single-node k3s cluster on a Hetzner box. One repository builds the container image and holds what deploys it, Flux reconciles the cluster to match, Traefik and cert-manager serve it. Markdown in, website out, and no step in between that I cannot inspect.

That is more machinery than a static site needs, and that is the point. This is my playground for the things I do not touch daily at work, and for testing an idea before I recommend it to anyone. I would rather know how something behaves than know how it is supposed to behave, and I like automating things enough that the complicated path is the fun one.

Elsewhere

Corrections are welcome and get credited. If an article is wrong, I would rather know.