Runner capabilities and placement: architecture, tier, speed and load (spec §11) issue #36
open andymccall opened this · 0 comments
andymccall
Andy's ask, 2026-10-04: a runner should know what it cannot run. The RISC-V OrangePi RV2 is not a runner today partly for this reason (and because it has no KVM, so the MicroVM tier is out: it needs the syscall tier, §4.2).
Specified in docs/spec.md §11 (proposed): a capability profile (arch, os, kernel, tiers with KVM checked, memory, cpus, images with their architecture, labels, a measured speed class, load); image manifests that record architecture at import and refuse another architecture's image; arch on a sandbox and a rootfs per architecture; placement that filters on the hard requirements and ranks idle, fast, image-holding runners first; a runner that double-checks and declines with a reason instead of failing; the queue saying what a job waits for.
Order: (1) architecture in image manifests and the claim, matched by the hub (closes the real gap for a RISC-V runner); (2) tiers with KVM checked, and the syscall tier so narvi can run anything; (3) speed class and load in the profile, ranking; (4) declining; (5) a rootfs per architecture.
Andy's ask, 2026-10-04: a runner should know what it cannot run. The RISC-V OrangePi RV2 is not a runner today partly for this reason (and because it has no KVM, so the MicroVM tier is out: it needs the syscall tier, §4.2).
Specified in docs/spec.md §11 (proposed): a capability profile (arch, os, kernel, tiers with KVM checked, memory, cpus, images with their architecture, labels, a measured speed class, load); image manifests that record architecture at import and refuse another architecture's image;
archon a sandbox and a rootfs per architecture; placement that filters on the hard requirements and ranks idle, fast, image-holding runners first; a runner that double-checks and declines with a reason instead of failing; the queue saying what a job waits for.Order: (1) architecture in image manifests and the claim, matched by the hub (closes the real gap for a RISC-V runner); (2) tiers with KVM checked, and the syscall tier so narvi can run anything; (3) speed class and load in the profile, ranking; (4) declining; (5) a rootfs per architecture.