diff options
author | sptaule <lecas83@gmail.com> | 2022-01-24 20:58:36 +0100 |
---|---|---|
committer | sptaule <lecas83@gmail.com> | 2022-01-24 20:58:36 +0100 |
commit | dc932f973593747697b98aa612a308df889741ab (patch) | |
tree | d1b88306af8373d650161e845c26690a52e32d29 /content/documentation/reference_manual/s3_compatibility.md | |
parent | 336fd3f7566c7872c17b30f7cd150e1d16899205 (diff) | |
download | garagehq.deuxfleurs.fr-dc932f973593747697b98aa612a308df889741ab.tar.gz garagehq.deuxfleurs.fr-dc932f973593747697b98aa612a308df889741ab.zip |
Added doc book
Diffstat (limited to 'content/documentation/reference_manual/s3_compatibility.md')
-rw-r--r-- | content/documentation/reference_manual/s3_compatibility.md | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/content/documentation/reference_manual/s3_compatibility.md b/content/documentation/reference_manual/s3_compatibility.md new file mode 100644 index 0000000..4c4c645 --- /dev/null +++ b/content/documentation/reference_manual/s3_compatibility.md @@ -0,0 +1,60 @@ +# S3 Compatibility status + +## Global S3 features + +Implemented: + +- path-style URLs (`garage.tld/bucket/key`) +- vhost-style URLs (`bucket.garage.tld/key`) +- putting and getting objects in buckets +- multipart uploads +- listing objects +- access control on a per-key-per-bucket basis + +Not implemented: + +- object-level ACL +- [object versioning](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/166) +- encryption +- most `x-amz-` headers + + +## Endpoint implementation + +All APIs that are not mentionned are not implemented and will return a 501 Not Implemented. + +| Endpoint | Status | +|------------------------------|----------------------------------| +| AbortMultipartUpload | Implemented | +| CompleteMultipartUpload | Implemented | +| CopyObject | Implemented | +| CreateBucket | Implemented | +| CreateMultipartUpload | Implemented | +| DeleteBucket | Implemented | +| DeleteBucketWebsite | Implemented | +| DeleteObject | Implemented | +| DeleteObjects | Implemented | +| GetBucketLocation | Implemented | +| GetBucketVersioning | Stub (see below) | +| GetBucketWebsite | Implemented | +| GetObject | Implemented | +| HeadBucket | Implemented | +| HeadObject | Implemented | +| ListBuckets | Implemented | +| ListObjects | Implemented, bugs? (see below) | +| ListObjectsV2 | Implemented | +| ListMultipartUpload | Implemented | +| ListParts | Implemented | +| PutObject | Implemented | +| PutBucketWebsite | Partially implemented (see below)| +| UploadPart | Implemented | +| UploadPartCopy | Implemented | + + +- **GetBucketVersioning:** Stub implementation (Garage does not yet support versionning so this always returns +"versionning not enabled"). + +- **ListObjects:** Implemented, but there isn't a very good specification of what `encoding-type=url` covers so there might be some encoding bugs. In our implementation the url-encoded fields are in the same in ListObjects as they are in ListObjectsV2. + +- **PutBucketWebsite:** Implemented, but only stores the index document suffix and the error document path. Redirects are not supported. + |