cleanroom-worker#
The worker is a small Go binary baked into the Cleanroom OS Buildroot image. It runs on each cleanroom node and is responsible for executing jobs assigned by the controller.
Responsibilities#
- Register with the controller on boot
- Poll for assigned jobs
- Execute job scripts in an isolated environment
- Stream logs and upload artifacts to the controller
- Report completion status and exit cleanly
Design constraints#
- No durable state. The worker writes nothing to persistent storage. All output goes to the controller.
- No long-lived secrets. Job credentials are passed at assignment time and discarded after the job completes.
- Stateless across reboots. A rebooted worker is indistinguishable from a freshly booted one.
- Minimal dependencies. The worker binary must build with only the Go standard library.
The current OS image already provides the bring-up environment around the worker: serial console, DHCP, OpenSSH, NTP, mDNS, rsyslog, and basic network tools. The worker should rely on the controller for durable logs/artifacts rather than local storage.