Versions registered here are served at /firmware/<version-id>/
as index.json + per-version manifest.json
(plus legacy text files during the device-update transition).
Upload a bootsystem squashfs
Stream bootsystem-current.squashfs straight to the CDN.
The console probes the nested rootfs for the kernel release and
codename, computes the sha256 + size, and writes
manifest.json + index.json on publish.
Confirm & publish
Register a version
For artifacts placed under $CDN_ROOT/firmware/<version-id>/
out-of-band (rsync/cp). The server probes the squashfs for kernel +
codename (override below if probing can't run) and writes the manifest.
Scan CDN tree
Reconcile version directories under $CDN_ROOT/firmware/:
probe each squashfs for kernel + codename, (re)generate
manifest.json per version, and rebuild
index.json (+ legacy available.txt).
latest.txt is left untouched — promote a version
explicitly via the row action below.