design: measured mx99 builder limits (large Rust builds belong elsewhere)
1 files changed,  +6, -0
M DESIGN.md
+6, -0
 1@@ -525,6 +525,12 @@ idle CPU/IO scheduling, and a memory ceiling plus low weights on
 2 `nix-daemon.service` (the daemon runs every build, including those that
 3 arrive over SSH; a VM test checks the cgroup), and zram. `servers`'
 4 `checks.x86_64-linux.builder` exercises both halves.
 5+Measured on mx99 (2 vCPU / 3.8 GB): small builds are unnoticeable, but a
 6+from-source Rust compile the size of Stalwart's needs well over 4 GB. With the
 7+limits above it was throttled (`MemoryHigh` hit millions of times, zram full,
 8+about a third of a core of CPU) and never killed, and the host's services
 9+stayed up. Builders of this size are not what mx99 is for: such builds go to
10+the dev machine (qemu, slow, 64 GB) or, later, a dedicated ARM builder.
11 
12 Binary cache: the CI host's own `/nix/store` is the cache, served read-only by
13 `harmonia` behind Caddy (basic auth, one shared netrc: store paths reveal host