↓ Skip to main content
Rusty Bower

Rusty Bower

Security engineering, systems, and thoughts.

Recent

Building a Fantasy Football Draft Engine for Seven Leagues at Once

·6974 words·33 mins
I play in seven fantasy football leagues. Five on Sleeper, two on Yahoo. Six snake drafts and one auction. Team counts of 10 and 12. PPR, half-PPR, and one league that pays a point for every first down. One of them scores individual defensive players. One scores kickers purely on field goal yardage with no penalty for a miss. Five are ordinary redrafts, one is a keeper league, and one is a dynasty league where rosters carry over whole.

How K3s Silently Grew a 40 GB SQLite Database and Took Down My Cluster

·1255 words·6 mins
My cluster — a single-node K3s instance running about 60 ArgoCD-managed applications — had been slowly dying for months. Pods crash-looped with “context deadline exceeded” errors. Leader elections failed. The metrics server stopped working entirely. I assumed it was resource pressure and tuned probe timeouts. The real problem was underneath all of it: K3s’s SQLite datastore had silently grown to 40 GB.

Whole-Home Audio with Music Assistant: Kubernetes Gotchas and a Silent Raspberry Pi

My music setup had accreted into a mess. Across two Kubernetes clusters I was running Navidrome, Lyrion Music Server (LMS), beets, and my own AI radio station (SUB/WAVE) - plus a Raspberry Pi running piCorePlayer wired into a Dayton DAX66 matrix amp for whole-home audio. Four things that all “played music,” none of which talked to each other, and no single place to control any of it from Home Assistant.