boatramp HTTP server + publishing API.
The server is backend-agnostic: it is handed a [DeployStore] (blobs in any
[boatramp_core::Storage], metadata in any [boatramp_core::kv::KvStore])
and exposes:
- a publishing API used by
boatramp sync— negotiate a manifest, upload missing blobs (streamed), then atomically activate; - public serving of the currently-active deployment for each site.
Every byte path streams: uploads flow request→backend, downloads flow backend→response, and only small manifests are ever held in memory.