garage/doc/book/reference-manual/s3-compatibility.md
Alex 1c0ba930b8 Reorganize documentation for new website (#213)
This PR should be merged after the new website is deployed.

- [x] Rename files
- [x] Add front matter section to all `.md` files in the book (necessary for Zola)
- [x] Change all internal links to use Zola's linking system that checks broken links
- [x] Some updates to documentation contents and organization

Co-authored-by: Alex Auvolat <alex@adnab.me>
Reviewed-on: Deuxfleurs/garage#213
Co-authored-by: Alex <alex@adnab.me>
Co-committed-by: Alex <alex@adnab.me>
2022-02-07 11:51:12 +01:00

3.1 KiB

+++ title = "S3 Compatibility status" weight = 20 +++

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-access-key-per-bucket basis
  • CORS headers on web endpoint

Not implemented:

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
DeleteBucketCors Implemented
DeleteBucketWebsite Implemented
DeleteObject Implemented
DeleteObjects Implemented
GetBucketCors 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
PutBucketCors 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.