Peer-held images: keep runners' manifests and place jobs where a peer in the site holds the image issue #342 closed: completed andymccall opened this · 0 comments
andymccall set labels feature ·
closed by change 951aed50c2f5 ·
andymccall referenced by change 5d66f27cebe2 on main ·
The hub keeps manifests that runners send for images it doesn't hold, and places jobs on runners that can fetch those images from a peer in their site. Design: oxygenflow docs/jetstream.md §8.1.1; the runner side is oxygenflow#94.
Hub side:
PUT /api/v1/flow/images/{hash}/held(runner tokens only). Check the manifest is well formed and filed under its own hash, then keep it marked peer-held:jet_images.source= 'peer' (migration in SQLite and Postgres), held by that runner. A verified push replaces it.send_manifests: images the runner says it holds that the hub keeps no manifest for.seed: falsefor a peer-held image.