diff options
author | Matthias Sohn <matthias.sohn@sap.com> | 2016-02-03 11:34:51 +0100 |
---|---|---|
committer | Sasa Zivkov <zivkov@gmail.com> | 2016-02-17 11:36:58 -0500 |
commit | f496177a378705600c65bb297527952a420b25fe (patch) | |
tree | 423ec6342dc7eee27c4ad86bb800bd5e81ebd664 /org.eclipse.jgit.pgm/META-INF | |
parent | ff5c756c79d1c10575b927cf3bb2eb1e1fcc391b (diff) | |
download | jgit-f496177a378705600c65bb297527952a420b25fe.tar.gz jgit-f496177a378705600c65bb297527952a420b25fe.zip |
Support Amazon S3 based storage for LFS
Add a storage implementation storing large objects in Amazon S3.
The AmazonS3Repository pre-signs download and upload requests.
AWS access and secret key are expected to be in the
$HOME/.aws/credentials file in the following format:
[default]
accessKey = ...
secretKey = ...
Use AWS version 4 request signing [1] because it is more secure and
supported by all regions. The version 3 signing is not supported in
newer regions.
In follow up changes we should:
- implement getVerifyAction() and do actual verification. Subclasses of
S3Repository can implement caching for object meta data (size) in order
to avoid extra roundtrips to S3. Verification should ensure that meta
data store and content of S3 storage are in sync
- HEAD request used in S3Repository.getSize() seems to always return
Content-length 0 in contrast to the documentation [2]. So getSize() does
detect if the object exists in S3 or not but in case the object exists
it always returns size 0
[1] http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
[2] https://forums.aws.amazon.com/thread.jspa?threadID=223616
Change-Id: Ic47f094928a259e5264c92b3aacf6d90210907a8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com>
Diffstat (limited to 'org.eclipse.jgit.pgm/META-INF')
-rw-r--r-- | org.eclipse.jgit.pgm/META-INF/MANIFEST.MF | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF index b654fc935b..2a3bda2389 100644 --- a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF @@ -42,6 +42,7 @@ Import-Package: javax.servlet;version="[3.1.0,4.0.0)", org.eclipse.jgit.lfs.lib;version="[4.3.0,4.4.0)", org.eclipse.jgit.lfs.server;version="[4.3.0,4.4.0)", org.eclipse.jgit.lfs.server.fs;version="[4.3.0,4.4.0)", + org.eclipse.jgit.lfs.server.s3;version="[4.3.0,4.4.0)", org.eclipse.jgit.lib;version="[4.3.0,4.4.0)", org.eclipse.jgit.merge;version="[4.3.0,4.4.0)", org.eclipse.jgit.nls;version="[4.3.0,4.4.0)", |