russalo@blog
russalo@blog ~ % ls -t posts/ | grep "#devops"

#devops

5 published posts

Turn Your Secrets Into Reproducible Artifacts: age + chezmoi Across Your Machines You can’t commit secrets to git — so they sit in plaintext, one copy each, backed up nowhere, and a dead disk takes them with it. I made the case for why that’s the real problem already; this post is…
A Free, Off-Host Backup for Your SQLite App Copying a live SQLite file with `cp` can hand you a torn, useless backup — the data you need is still in the write-ahead log. `VACUUM INTO` takes a consistent snapshot with the server running, and a systemd timer ships it to another box so a dead disk doesn't take your data with it.
Move a Live Log Without Losing a Line You can relocate a file a process is actively writing — even the log of the session doing the moving — without dropping a byte. One Unix fact makes it safe: an open file descriptor is bound to the inode, not the path.
The Caddy Bug That Blamed Let's Encrypt for DigitalOcean's Mistake A wildcard cert that issued perfectly — and a retry loop that wouldn't quit. The journal said `strconv.Atoi: parsing "": invalid syntax`, wrapped in certificate-issuance vocabulary. The real bug was two layers down, and the fix was one line.
Four Caddyfile Gotchas, and the One Habit That Catches Them All Caddy's docs cover each directive in isolation. These four bite where directives interact — and three won't even throw an error. Here's how to fix each, plus the single check that catches all of them.
russalo@blog ~ % cd ..