Platform engineering notebook
Hi, I'm Alex Novak.
I’m a platform engineer. I write about Linux, containers, Postgres, shell scripts and the boring parts of keeping systems running, mostly so I can find the notes again.
- 6posts
- 17topics
- Nov 3last update
Latest writing
All postsDebugging DNS with dig, step by step
The handful of dig commands I actually use when a hostname doesn't resolve, resolves to the wrong thing, or resolves for some people and not others.
Let git find the regression: git bisect run
Binary search over history with a script doing the testing. Exit codes, skipping broken commits, and the details that make bisect runs reliable.
Postgres backups with restic, and actually restoring them
Streaming pg_dump straight into an encrypted, deduplicated restic repository, keeping a sane retention policy, and the restore drill that proves it works.
The traps in set -euo pipefail
Bash strict mode is a good default, but -e has exceptions that surprise everyone at least once. The cases that bit me, with fixes.
Small Docker images with multi-stage builds
How I take a Go service from a 900 MB image to a few megabytes, and a Python one from 1 GB to something reasonable, with multi-stage builds and cache mounts.
systemd timers vs cron: why I finally switched
Cron is fine until a job overlaps, silently fails or misses a run during a reboot. Here's how systemd timers handle those cases and when I still reach for cron.