From 945b75dbf1de8bb22ebf9824727a2c45561bfcf4 Mon Sep 17 00:00:00 2001 From: trinity-1686a Date: Wed, 15 Dec 2021 15:05:54 +0100 Subject: [PATCH] update s3 compatibility list (#177) Co-authored-by: Trinity Pointard Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/177 Co-authored-by: trinity-1686a Co-committed-by: trinity-1686a --- .../src/reference_manual/s3_compatibility.md | 10 +++++-- .../working_documents/compatibility_target.md | 28 +++++++++---------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/doc/book/src/reference_manual/s3_compatibility.md b/doc/book/src/reference_manual/s3_compatibility.md index 272ff41c7..fd17f28dc 100644 --- a/doc/book/src/reference_manual/s3_compatibility.md +++ b/doc/book/src/reference_manual/s3_compatibility.md @@ -5,6 +5,7 @@ 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 @@ -12,9 +13,8 @@ Implemented: Not implemented: -- vhost-style URLs (`bucket.garage.tld/key`) - object-level ACL -- object versioning +- [object versioning](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/166) - encryption - most `x-amz-` headers @@ -31,10 +31,12 @@ All APIs that are not mentionned are not implemented and will return a 400 bad r | CreateBucket | Unsupported, stub (see below) | | CreateMultipartUpload | Implemented | | DeleteBucket | Unsupported (see below) | +| DeleteBucketWebsite | Implemented | | DeleteObject | Implemented | | DeleteObjects | Implemented | | GetBucketLocation | Implemented | | GetBucketVersioning | Stub (see below) | +| GetBucketWebsite | Unsupported | | GetObject | Implemented | | HeadBucket | Implemented | | HeadObject | Implemented | @@ -42,6 +44,7 @@ All APIs that are not mentionned are not implemented and will return a 400 bad r | ListObjects | Implemented, bugs? (see below) | | ListObjectsV2 | Implemented | | PutObject | Implemented | +| PutBucketWebsite | Partially implemented (see below)| | UploadPart | Implemented | @@ -55,3 +58,6 @@ All APIs that are not mentionned are not implemented and will return a 400 bad r - **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 store if website is enabled, not more complexe informations. + +- **GetBucketWebsite:** Not implemented yet, will be when PubBucketWebsite store more informations. diff --git a/doc/book/src/working_documents/compatibility_target.md b/doc/book/src/working_documents/compatibility_target.md index c6c580073..6225532e0 100644 --- a/doc/book/src/working_documents/compatibility_target.md +++ b/doc/book/src/working_documents/compatibility_target.md @@ -9,8 +9,8 @@ your motivations for doing so in the PR message. | **S-tier** (high priority) | | | | HeadBucket | | | GetBucketLocation | -| | *CreateBucket* | -| | *DeleteBucket* | +| | [*CreateBucket*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/97) | +| | [*DeleteBucket*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/97) | | | ListBuckets | | | ListObjects | | | ListObjectsV2 | @@ -24,16 +24,16 @@ your motivations for doing so in the PR message. | | CompleteMultipartUpload | | | AbortMultipartUpload | | | UploadPart | -| | *ListMultipartUploads* | -| | *ListParts* | +| | [*ListMultipartUploads*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/103) | +| | [*ListParts*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/103) | | **A-tier** (will implement) | | -| | *GetBucketCors* | -| | *PutBucketCors* | -| | *DeleteBucketCors* | -| | *UploadPartCopy* | -| | *GetBucketWebsite* | -| | *PutBucketWebsite* | -| | *DeleteBucketWebsite* | +| | [*GetBucketCors*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/138) | +| | [*PutBucketCors*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/138) | +| | [*DeleteBucketCors*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/138) | +| | [*UploadPartCopy*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/160) | +| | [*GetBucketWebsite*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/77) | +| | [*PutBucketWebsite*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/77) | +| | DeleteBucketWebsite | | ~~~~~~~~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | **B-tier** | | | | GetBucketAcl | @@ -50,12 +50,14 @@ your motivations for doing so in the PR message. | | ListObjectVersions | | | GetObjectAcl | | | PutObjectAcl | +| | GetBucketLifecycleConfiguration | +| | PutBucketLifecycleConfiguration | +| | DeleteBucketLifecycle | | **garbage-tier** | | | | DeleteBucketEncryption | | | DeleteBucketAnalyticsConfiguration | | | DeleteBucketIntelligentTieringConfiguration | | | DeleteBucketInventoryConfiguration | -| | DeleteBucketLifecycle | | | DeleteBucketMetricsConfiguration | | | DeleteBucketOwnershipControls | | | DeleteBucketPolicy | @@ -68,7 +70,6 @@ your motivations for doing so in the PR message. | | GetBucketEncryption | | | GetBucketIntelligentTieringConfiguration | | | GetBucketInventoryConfiguration | -| | GetBucketLifecycleConfiguration | | | GetBucketLogging | | | GetBucketMetricsConfiguration | | | GetBucketNotificationConfiguration | @@ -90,7 +91,6 @@ your motivations for doing so in the PR message. | | PutBucketEncryption | | | PutBucketIntelligentTieringConfiguration | | | PutBucketInventoryConfiguration | -| | PutBucketLifecycleConfiguration | | | PutBucketLogging | | | PutBucketMetricsConfiguration | | | PutBucketNotificationConfiguration |