Platform engineer focused on Kubernetes, GitOps, and Linux — based in Nova Scotia. I build things, run my own infrastructure, and write technical content aimed at working engineers. Practical depth, not hand-holding.
I'm building bradpenney.io — a connected set of learning sites for platform engineers and developers. Every site follows the same progression: get it working → understand it → own it in production.
| Site | Topic | Status |
|---|---|---|
| linux.bradpenney.io | Enterprise Linux | Active |
| cs.bradpenney.io | Computer Science | Active |
| python.bradpenney.io | Python | Active |
| k8s.bradpenney.io | Kubernetes | Active |
| tools.bradpenney.io | Dev Tools | Active |
| gitops.bradpenney.io | GitOps / FluxCD | Early — content in progress |
The sites are interconnected by design. Linux + Tools = terminal mastery. Kubernetes + GitOps = production platform engineering. Python + all of them = automation.
I run my own stack at home — no cloud subscriptions, no vendor lock-in. File sync, home automation, calendar, online editing, and trail tracking all run on hardware I own, defined in a single compose.yaml.
github.com/bradpenney/homelab — the full stack, public, with a disaster recovery runbook.
Key pieces: Nextcloud (replaces Google Drive and iCloud), Home Assistant, Traefik, and Wanderer for trail tracking. Automated with systemd timers, backed up nightly to encrypted Google Drive.
Docket — a minimal project-based todo manager with both a TUI and web interface, written in Rust. An ongoing experiment.
When I'm not at a keyboard, I'm usually on trails in Nova Scotia in a side-by-side UTV. I track and log rides at trails.bradpenney.io — self-hosted Wanderer, running on the same homelab. Same infrastructure principles, different use case.
I'm exploring electronics as a personal interest — microcontrollers, MicroPython, basic circuits. Very early, very much a hobby.
electronics.bradpenney.io — separate from the professional learning ecosystem, but built the same way.
| Project | Role |
|---|---|
| firestoned | Admin/maintainer — generates OpenAPI/AsyncAPI specs from JSON Schema; Kubernetes-native BIND9/DNS tooling (Python + Rust). |
| finos/5-spot | Contributor — Rust/Kubernetes controller for time-based node scheduling. I am not a maintainer. |

