30 stages
From “which server, as whom?” to port-forward — each stage adds one visible thing, and running a stage re-verifies every stage before it.
byok8s is a local course runner. You write one Go program and grow it across
30 stages until it does what kubectl does — find the cluster, ask the server
what it serves, resolve any resource through discovery and the RESTMapper,
print tables, select, watch, apply with server-side apply, describe, and stream
logs, exec and port-forward.
Every stage is graded against a real kind cluster. Nothing inspects your source: the verdict is your program’s exit code and stdout, so any correct implementation passes.
30 stages
From “which server, as whom?” to port-forward — each stage adds one visible thing, and running a stage re-verifies every stage before it.
A real cluster
Graded against kind, in an isolated namespace per stage. create deployment really does produce pods; logs really does stream from a
container.
A note per stage
A stage says whether your program behaves; it never says why. Every stage’s note covers the core concept, the Go APIs it needs, a hint ladder, and further reading — open any row in the catalog.
Verified references
Every stage ships a reference snapshot that passed stages 1..N cumulatively in CI — browse the per-stage diffs in the catalog.
git clone https://github.com/madhank93/byo-k8s-x && cd byo-k8s-xmise install # go, kind, kubectlbyok8s up # create the local kind clusterbyok8s run 1 # verify stage 1See Getting started for the full setup.