This repository has been archived by the owner on Sep 12, 2018. It is now read-only.
Split streaming, content-addressable storage from transactional, mutable storage #704
Labels
Milestone
Instead of having a single storage backend (see #616 and #643), I think it would be better to have two storage backends, one for content-addressable storage (where a given key always refers to the same content, e.g. the tarsummed layer tarballs) and one for mutable storage (e.g. the ‘latest’ tag for a given repository or registry-internal information like dependent tag tracking). For convenience, I've called the content-addressable storage “streaming storage” and the mutable storage “atomic storage”. Earlier thoughts on this issue:
For similar APIs in other systems, see:
.git/objects
for content-addressable data, and.git/logs
and.git/refs
for mutable data.I've opened this issue so we can focus discussion here without without diluting other issues. There's a lot of stuff up in the air right now, so I'm fine if this issue just sits as a placeholder until we have time to kick it around some more.
The text was updated successfully, but these errors were encountered: