Bosun
A Kubernetes operator and internal platform in miniature, in Go — one object becomes a whole stack.
LEVEL 1THE PROBLEM
Getting a real system onto a cluster is a paperwork problem. The Payment Rail stack alone is a handful of Deployments and Services, a Postgres, a broker, secrets, and the ordering between them — and every environment retypes it by hand. An operator is the standard answer: teach the cluster one noun, then let a controller keep reality matching it. Bosun is my attempt at that noun and that controller — opinionated CRDs and a golden path that turn "I want this environment" into something a cluster reconciles. It was built in the open, milestone by milestone, and it is finished — so this page describes what shipped, including the things it deliberately never does.
LEVEL 2THE BUILD
Three CRDs and three reconcilers in one Go module. ManagedApp is the unit — image, replicas and port, because a field the operator would only store is a promise it does not keep. Its controller server-side applies the Deployment, the Service and four observability objects it owns under its own field manager, claiming only the Service port list exclusively, writes Ready and Progressing conditions back against the observed generation, and holds a finalizer that tears the children down in order. PaymentStack is the golden path: apps, a CloudNativePG database and Redpanda topics, composed as unstructured objects — for the database and the topics the repo vendors CRD YAML for envtest and imports no Go SDK. PreviewEnvironment is that same stack on a deadline. The loop is level-triggered with no periodic resync anywhere.

BOSS FIGHTTHE RESULT
Feature-complete: every milestone from M0 to M7c landed. One command takes a machine with no cluster to a PaymentStack reporting Ready on a real CloudNativePG database and a real Redpanda broker, with Prometheus scraping both apps and Grafana serving the dashboards it generated — 4m28s measured against a 900-second ceiling, zero manual steps. An eleven-scenario chaos suite, the manager race-built and SIGKILLed mid-reconcile, puts deleted children back in one to two seconds. The gaps are written down as tests, not hidden: four owned kinds are watched by nothing, so one deleted out of band stays deleted until its parent reconciles. There is no Degraded condition, no HPA or PodDisruptionBudget, no CLI and no container image — the manager runs out-of-cluster under a developer kubeconfig. Local kind clusters only, no production traffic, not a supported operator.
HIGH SCORES
- 151TEST FUNCTIONS75 ENVTEST · 71 UNIT · 5 CHAOS
- 75ADRSNUMBERED · README EXCLUDED
- 11CHAOS SCENARIOSOWN CLUSTER · RACE DETECTOR
- 3CRDS+ 3 CONTROLLERS · 1 MANAGER
- 4m30sDEMO END TO ENDFRESH KIND CLUSTER · 900S GATE
- 1–2 sCHILD RECONVERGEDELETED CHILD · 120S BUDGET