The insight
When you hear "cloud-native desktop with a home server," the instinct is: laptops should be k8s nodes. Run a kubelet on every machine, join them to the cluster, schedule workloads everywhere.
bluespeed deliberately does the opposite — and this is a feature.
Why laptops are NOT cluster nodes in bluespeed
The laptop is the product, not the factory. The cluster (ghost + nodes) is the factory. The laptop boots the output so you don't have to manage that stuff.
What this means for the stack
- The cluster runs the build infrastructure: Argo Workflows, Zot registry, observability, KubeStellar dashboard - we keep this a standard CNCF stack, well documented and justfile driven for all the manual knobs.
- The laptops run the output: a custom bootc image built by the cluster
- Data donation on laptops: run
ujust report runs some otel stuff, snags logs, posts data as a github gist
- MDM: handled at the OS image level (bootc). Deep MDM (enrollment, policy, compliance) is a solved problem — bluespeed will plug into an existing MDM solution rather than build one.
What to document
Update README.md Design Principles section with:
6. Clients consume images, they don't run cluster workloads. Contributor laptops are managed via bootc image updates — not enrolled as k8s nodes. The cluster builds the images; the laptops boot them. This eliminates per-client agent overhead, enables atomic rollbacks, and keeps cluster complexity constant regardless of how many contributors join the fleet.
Update docs/CONTRIBUTING.md with a section explaining:
- Why your laptop isn't a k8s node (and why that's better)
- How
bootc upgrade handles your OS updates
- How to opt in to sending metrics via the OTel agent (
just setup-otel-agent HOST=localhost)
Acceptance criteria
The insight
When you hear "cloud-native desktop with a home server," the instinct is: laptops should be k8s nodes. Run a kubelet on every machine, join them to the cluster, schedule workloads everywhere.
bluespeed deliberately does the opposite — and this is a feature.
Why laptops are NOT cluster nodes in bluespeed
The laptop is the product, not the factory. The cluster (ghost + nodes) is the factory. The laptop boots the output so you don't have to manage that stuff.
What this means for the stack
ujust reportruns some otel stuff, snags logs, posts data as a github gistWhat to document
Update
README.mdDesign Principles section with:Update
docs/CONTRIBUTING.mdwith a section explaining:bootc upgradehandles your OS updatesjust setup-otel-agent HOST=localhost)Acceptance criteria