Kubernetes platform lead in Nova Scotia. I got here the way most of us do — because production was on fire, not because someone wrote a curriculum. I build things, run my own platform, and write for engineers who need something working, not just studied.
invariant-platform.io — a small, security-first Kubernetes platform that re-asserts its own posture every night, from outside itself, and whose only repair is a rebuild from a declaration. Every property it claims is one it checks; the nightly check is published on the site, findings included.
- 200 numbered decisions in a register — nothing deleted, wrong ones superseded by a later number that says why.
- 15 invariants re-asserted every morning by a read-only identity on the hosts beneath the cluster, and paged when one stops holding.
- Rebuilt, never repaired. A node that is wrong is destroyed and built again from the declaration; the tool that does that on a Tuesday is the one that would rebuild the estate after a fire.
- Nothing reaches it unsigned. The cluster pulls a signed artifact from one named workflow; the provisioner itself is a signed release, installed by version, that refuses to change the fleet unless it is one.
github.com/bradpenney/substrate — the provisioner: one static Rust binary that provisions, verifies and rolls the cluster from a declaration. Public, with signed releases.
Everything on bradpenney.io that says "in production" was tried here first.
bradpenney.io is a connected set of learning sites for platform engineers and developers, arranged three ways:
- Pathways — one goal, several sites, in the order you need them.
- Deep Dives — one topic, start to finish, inside a site you already know.
- Day One — the first things you need on the first day.
| Site | Topic |
|---|---|
| linux.bradpenney.io | Enterprise Linux |
| containers.bradpenney.io | Containers — Podman and Docker |
| k8s.bradpenney.io | Kubernetes |
| gitops.bradpenney.io | GitOps / Flux |
| networking.bradpenney.io | Networking |
| cs.bradpenney.io | Computer Science |
| python.bradpenney.io | Python |
| tools.bradpenney.io | Developer Tools |
Linux + Containers + Kubernetes is the deploy stack. Networking + Kubernetes + GitOps is platform engineering. Python ties it together.
github.com/bradpenney/homelab — the self-hosted stack that came before the platform: Nextcloud in place of Google Drive and iCloud, Home Assistant, Traefik, and Wanderer for trail tracking. Public, with a real disaster-recovery runbook. It is being migrated onto Invariant Platform app by app; what has moved runs behind the same boundaries as everything else there.
| Project | Role |
|---|---|
| Docket | Author — a project-based task manager with a TUI, a web interface and a REST API, in Rust. |
| firestoned | Admin / maintainer — OpenAPI and AsyncAPI specs from one JSON Schema; Kubernetes-native BIND9 DNS tooling (Python + Rust). |
| finos/5-spot | Contributor — a Rust controller that schedules physical machines on and off by time window. Not a maintainer. |
| flux9s | Reviewer — a k9s-style terminal UI for Flux resources. |
Trails in Nova Scotia in a side-by-side UTV, logged at trails.bradpenney.io — self-hosted Wanderer, now running on Invariant Platform. Same principles, different workload.
Two hobby sites, separate from the professional ecosystem but built to the same standard: electronics.bradpenney.io (microcontrollers, circuits, breadboards) and cnc.bradpenney.io (G-code, CAD/CAM and machine control on my own X-Carve).


