OXYGENHUB

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

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.
  • A claim's answer lists send_manifests: images the runner says it holds that the hub keeps no manifest for.
  • Placement: a peer-held image counts as fetchable only for a runner with a swarm site in which some runner holds it. "Why waiting" says who holds it and where.
  • Announce answers seed: false for a peer-held image.
  • Admin › Runners › Images shows peer-held images and who holds them.

andymccall set labels feature ·

closed by change 951aed50c2f5 ·

andymccall referenced by change 5d66f27cebe2 on main ·