Feature #14199
closed[keepstore] copy block from remote keepstore to local keepstore
Description
API to instruct keepstore to fetch a remote block, save it, and return signed locator (variation on "proxy a block read request" with the added feature of saving the block).
Proposed API:
Request header "X-Keep-Signature: local, time=T" (where T is an RFC3339 timestamp) implies the block should be retained by keepstore.
The response includes the header "X-Keep-Locator: abc+123+Aabc"
The client will do a HEAD request (equivalent to the GET request) on remote signed locator and look for a response header that has a new locator with local block signature.
All keepstore GET and HEAD responses for block requests should support this new header/response
When the "X-Keep-Signature" request header is provided, the timestamp on the underlying block must be updated before a new signature can be returned.
Responses with an X-Keep-Locator header must also include a "Vary: X-Keep-Signature" header.
Related issues