git-annex/doc/design/assistant/cloud.mdwn

42 lines
1.7 KiB
Text
Raw Normal View History

2012-05-28 14:41:23 -04:00
The [[syncing]] design assumes the network is connected. But it's often
not in these pre-IPV6 days, so the cloud needs to be used to bridge between
LANS.
## more cloud providers
2012-05-29 19:17:38 -04:00
Git-annex already supports storing large files in
several cloud providers via [[special_remotes]].
2012-05-28 14:41:23 -04:00
More should be added, such as:
2012-05-28 14:47:16 -04:00
* Google drive (attractive because it's free, only 5 gb tho)
* OpenStack Swift (teh future)
2012-05-28 14:41:23 -04:00
* Box.com (it's free, and current method is hard to set up and a sorta
2012-05-28 14:47:16 -04:00
shakey; a better method would be to use its API)
* Dropbox? That would be ironic.. Via its API, presumably.
2012-09-04 14:58:11 -04:00
* [[Amazon Glacier|todo/special_remote_for_amazon_glacier]]
2012-09-21 19:19:15 -04:00
* [nimbus.io](https://nimbus.io/) Fairly low prices ($0.06/GB);
REST API; free software
2012-05-28 14:41:23 -04:00
## The cloud notification problem
2012-05-28 14:41:23 -04:00
Alice and Bob have repos, and there is a cloud remote they both share.
Alice adds a file; the assistant transfers it to the cloud remote.
How does Bob find out about it?
2012-05-28 14:41:23 -04:00
There are two parts to this problem. Bob needs to find out that there's
been a change to Alice's git repo. Then he needs to pull from Alice's git repo,
or some other repo in the cloud she pushed to. Once both steps are done,
the assistant will transfer the file from the cloud to Bob.
2012-05-29 19:17:38 -04:00
## storing git repos in the cloud
Of course, one option is to just use github etc to store the git repo.
2012-08-15 18:31:42 +00:00
Two things can store git repos in Amazon S3:
2012-05-29 19:17:38 -04:00
* <http://gabrito.com/post/storing-git-repositories-in-amazon-s3-for-high-availability>
* <http://wiki.cs.pdx.edu/oss2009/index/projects/gits3.html>
Another option is to not store the git repo in the cloud, but push/pull
peer-to-peer. When peers cannot directly talk to one-another, this could be
bounced through something like XMPP.