October 8, 2026
The Database Remembered Root
Building Audiobookshelf through GitOps with a ConfigMap, retained storage, a non-root runtime and a Cloudflare Tunnel credential protected by SOPS.
October 8, 2026
Building Audiobookshelf through GitOps with a ConfigMap, retained storage, a non-root runtime and a Cloudflare Tunnel credential protected by SOPS.
September 28, 2026
Renaming the homelab repository was straightforward. Moving two live Grafana Secrets between Flux Kustomizations meant handing over ownership without letting pruning delete them.
September 15, 2026
Renovate's first run offered a Flux upgrade and three overlapping PRs. An hourly job, an encrypted token, and a useful reminder to read what the bot proposes.
September 9, 2026
I wanted to stop port-forwarding Grafana. Along the way: an overdue chart upgrade, encrypted credentials, and a certificate my browser quite reasonably refused to trust.
September 1, 2026
Using SOPS, age and Flux to make Kubernetes Secrets encrypted in Git, recoverable by the cluster and useful only where they are needed.