sep 2, 2026
Why your Docker build caches locally and never in CI
A CI runner starts with an empty layer store, so every build is a first build. Cache mounts, instruction order, and an exported cache fix it in about ten…
I do platform work at a startup. This is where I write down the things I had to figure out the hard way, so future-me at 3am doesn't have to.


SDR, a Flipper, a Pwnagotchi, a few antennas I tuned in bad lighting, and an hourglass for measuring how long a deploy actually takes.
See the lair →
sep 2, 2026
A CI runner starts with an empty layer store, so every build is a first build. Cache mounts, instruction order, and an exported cache fix it in about ten…
aug 21, 2026
Threshold alerts page you for causes that may not matter. Multi-window burn-rate alerts page you once, for the symptom, when the error budget is genuinely…
aug 12, 2026
CrashLoopBackOff is a symptom with five common causes. The exit code and the last event narrow it to one in under a minute, before you open the…

jul 25, 2026
A Kubernetes namespace isolates the API, not the silicon. Under time-slicing two teams share a physical GPU with no memory wall. Quotas, isolation, and…
Long-form infra writing, every few weeks. No tracking pixels, no marketing sequences, no LinkedIn-isms.
Harshit Luthra. Senior SRE, infrequent essayist, occasional source of production incidents. More about me →
4M+
Daily active users
1M/min
Peak throughput
99.99%
Uptime on 95% spot
$200K
Cloud spend trimmed
What I work in
kubernetes · terraform · aws · next.js · typescript · postgres
32 posts · 11 TILs · writing here since 2018