diff options
author | Joey Hess <joey@kitenet.net> | 2011-03-26 18:26:36 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-03-26 18:26:36 -0400 |
commit | 433c1780cff5673591be94deae02e775f804ab7c (patch) | |
tree | 63058fc50177f679e573b2ccb732372b6fb6f9eb /doc/todo/S3.mdwn | |
parent | 849c183f23a68d6204d5aacd0b9750374a5f59b9 (diff) |
more thoughts
Diffstat (limited to 'doc/todo/S3.mdwn')
-rw-r--r-- | doc/todo/S3.mdwn | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/todo/S3.mdwn b/doc/todo/S3.mdwn index 56023e71e..946fa6817 100644 --- a/doc/todo/S3.mdwn +++ b/doc/todo/S3.mdwn @@ -71,3 +71,21 @@ Implementing this might not be as conceptually nice as making S3 a separate backend. It would need some changes to the remotes code, perhaps lifting some of it into backend-specific hooks. Then the S3 backend could be implicitly stacked in front of a backend like WORM. + +--- + +Maybe the right way to look at this is that a list of Stores +should be a property of the Backend. Backend.File is a Backend, that +uses various Stores, which can be of different types (the local +git repo, remote git repos, S3, etc). Backend.URL is a backend that uses +other Stores (the local git repo, and the web). + +Operations on Stores are: + +* uuid -- each store has a unique uuid value +* cost -- each store has a use cost value +* getConfig -- attempts to look up values (uuid, possibly cost) +* copyToStore -- store a file's contents to a key +* copyFromStore -- retrieve a key's contents to a file +* removeFromStore -- removes a key's contents from the store +* hasKey -- checks if the key's content is available |