aboutsummaryrefslogtreecommitdiff
path: root/doc/book/src/reference_manual/s3_compatibility.md
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2021-10-19 16:16:10 +0200
committerAlex Auvolat <alex@adnab.me>2021-10-25 14:21:48 +0200
commitde4276202ad2be8a2e07f2a6f2f48d9c25cdc32c (patch)
tree2e156181891c312c6b64122250ff9b5c25c91bef /doc/book/src/reference_manual/s3_compatibility.md
parent1b450c4b493dfcb2ee88acbca3ea584beac8eb4b (diff)
downloadgarage-de4276202ad2be8a2e07f2a6f2f48d9c25cdc32c.tar.gz
garage-de4276202ad2be8a2e07f2a6f2f48d9c25cdc32c.zip
Improve CLI, adapt tests, update documentation
Diffstat (limited to 'doc/book/src/reference_manual/s3_compatibility.md')
-rw-r--r--doc/book/src/reference_manual/s3_compatibility.md99
1 files changed, 29 insertions, 70 deletions
diff --git a/doc/book/src/reference_manual/s3_compatibility.md b/doc/book/src/reference_manual/s3_compatibility.md
index 01059218..272ff41c 100644
--- a/doc/book/src/reference_manual/s3_compatibility.md
+++ b/doc/book/src/reference_manual/s3_compatibility.md
@@ -23,76 +23,35 @@ Not implemented:
All APIs that are not mentionned are not implemented and will return a 400 bad request.
-#### AbortMultipartUpload
-
-Implemented.
-
-#### CompleteMultipartUpload
-
-Implemented badly. Garage will not check that all the parts stored correspond to the list given by the client in the request body. This means that the multipart upload might be completed with an invalid size. This is a bug and will be fixed.
-
-#### CopyObject
-
-Implemented.
-
-#### CreateBucket
-
-Garage does not accept creating buckets or giving access using API calls, it has to be done using the CLI tools. CreateBucket will return a 200 if the bucket exists and user has write access, and a 403 Forbidden in all other cases.
-
-#### CreateMultipartUpload
-
-Implemented.
-
-#### DeleteBucket
-
-Garage does not accept deleting buckets using API calls, it has to be done using the CLI tools. This request will return a 403 Forbidden.
-
-#### DeleteObject
-
-Implemented.
-
-#### DeleteObjects
-
-Implemented.
-
-#### GetBucketLocation
-
-Implemented.
-
-#### GetBucketVersioning
-
-Stub implementation (Garage does not yet support versionning so this always returns
+| Endpoint | Status |
+|------------------------------|----------------------------------|
+| AbortMultipartUpload | Implemented |
+| CompleteMultipartUpload | Implemented |
+| CopyObject | Implemented |
+| CreateBucket | Unsupported, stub (see below) |
+| CreateMultipartUpload | Implemented |
+| DeleteBucket | Unsupported (see below) |
+| DeleteObject | Implemented |
+| DeleteObjects | Implemented |
+| GetBucketLocation | Implemented |
+| GetBucketVersioning | Stub (see below) |
+| GetObject | Implemented |
+| HeadBucket | Implemented |
+| HeadObject | Implemented |
+| ListBuckets | Implemented |
+| ListObjects | Implemented, bugs? (see below) |
+| ListObjectsV2 | Implemented |
+| PutObject | Implemented |
+| UploadPart | Implemented |
+
+
+
+- **CreateBucket:** Garage does not yet accept creating buckets or giving access using API calls, it has to be done using the CLI tools. CreateBucket will return a 200 if the bucket exists and user has write access, and a 403 Forbidden in all other cases.
+
+- **DeleteBucket:** Garage does not yet accept deleting buckets using API calls, it has to be done using the CLI tools. This request will return a 403 Forbidden.
+
+- **GetBucketVersioning:** Stub implementation (Garage does not yet support versionning so this always returns
"versionning not enabled").
-#### GetObject
-
-Implemented.
-
-#### HeadBucket
-
-Implemented.
-
-#### HeadObject
-
-Implemented.
-
-#### ListBuckets
-
-Implemented.
-
-#### 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.
-
-#### ListObjectsV2
-
-Implemented.
-
-#### PutObject
-
-Implemented.
-
-#### UploadPart
-
-Implemented.
+- **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.