update s3 compatibility list (#177)

Co-authored-by: Trinity Pointard <trinity.pointard@gmail.com>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/177
Co-authored-by: trinity-1686a <trinity.pointard@gmail.com>
Co-committed-by: trinity-1686a <trinity.pointard@gmail.com>
This commit is contained in:
trinity-1686a 2021-12-15 15:05:54 +01:00 committed by Alex
parent ca7b438f3f
commit 945b75dbf1
2 changed files with 22 additions and 16 deletions

View File

@ -5,6 +5,7 @@
Implemented: Implemented:
- path-style URLs (`garage.tld/bucket/key`) - path-style URLs (`garage.tld/bucket/key`)
- vhost-style URLs (`bucket.garage.tld/key`)
- putting and getting objects in buckets - putting and getting objects in buckets
- multipart uploads - multipart uploads
- listing objects - listing objects
@ -12,9 +13,8 @@ Implemented:
Not implemented: Not implemented:
- vhost-style URLs (`bucket.garage.tld/key`)
- object-level ACL - object-level ACL
- object versioning - [object versioning](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/166)
- encryption - encryption
- most `x-amz-` headers - 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) | | CreateBucket | Unsupported, stub (see below) |
| CreateMultipartUpload | Implemented | | CreateMultipartUpload | Implemented |
| DeleteBucket | Unsupported (see below) | | DeleteBucket | Unsupported (see below) |
| DeleteBucketWebsite | Implemented |
| DeleteObject | Implemented | | DeleteObject | Implemented |
| DeleteObjects | Implemented | | DeleteObjects | Implemented |
| GetBucketLocation | Implemented | | GetBucketLocation | Implemented |
| GetBucketVersioning | Stub (see below) | | GetBucketVersioning | Stub (see below) |
| GetBucketWebsite | Unsupported |
| GetObject | Implemented | | GetObject | Implemented |
| HeadBucket | Implemented | | HeadBucket | Implemented |
| HeadObject | 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) | | ListObjects | Implemented, bugs? (see below) |
| ListObjectsV2 | Implemented | | ListObjectsV2 | Implemented |
| PutObject | Implemented | | PutObject | Implemented |
| PutBucketWebsite | Partially implemented (see below)|
| UploadPart | Implemented | | 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. - **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.

View File

@ -9,8 +9,8 @@ your motivations for doing so in the PR message.
| **S-tier** (high priority) | | | **S-tier** (high priority) | |
| | HeadBucket | | | HeadBucket |
| | GetBucketLocation | | | GetBucketLocation |
| | *CreateBucket* | | | [*CreateBucket*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/97) |
| | *DeleteBucket* | | | [*DeleteBucket*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/97) |
| | ListBuckets | | | ListBuckets |
| | ListObjects | | | ListObjects |
| | ListObjectsV2 | | | ListObjectsV2 |
@ -24,16 +24,16 @@ your motivations for doing so in the PR message.
| | CompleteMultipartUpload | | | CompleteMultipartUpload |
| | AbortMultipartUpload | | | AbortMultipartUpload |
| | UploadPart | | | UploadPart |
| | *ListMultipartUploads* | | | [*ListMultipartUploads*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/103) |
| | *ListParts* | | | [*ListParts*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/103) |
| **A-tier** (will implement) | | | **A-tier** (will implement) | |
| | *GetBucketCors* | | | [*GetBucketCors*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/138) |
| | *PutBucketCors* | | | [*PutBucketCors*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/138) |
| | *DeleteBucketCors* | | | [*DeleteBucketCors*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/138) |
| | *UploadPartCopy* | | | [*UploadPartCopy*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/160) |
| | *GetBucketWebsite* | | | [*GetBucketWebsite*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/77) |
| | *PutBucketWebsite* | | | [*PutBucketWebsite*](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/77) |
| | *DeleteBucketWebsite* | | | DeleteBucketWebsite |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | ~~~~~~~~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| **B-tier** | | | **B-tier** | |
| | GetBucketAcl | | | GetBucketAcl |
@ -50,12 +50,14 @@ your motivations for doing so in the PR message.
| | ListObjectVersions | | | ListObjectVersions |
| | GetObjectAcl | | | GetObjectAcl |
| | PutObjectAcl | | | PutObjectAcl |
| | GetBucketLifecycleConfiguration |
| | PutBucketLifecycleConfiguration |
| | DeleteBucketLifecycle |
| **garbage-tier** | | | **garbage-tier** | |
| | DeleteBucketEncryption | | | DeleteBucketEncryption |
| | DeleteBucketAnalyticsConfiguration | | | DeleteBucketAnalyticsConfiguration |
| | DeleteBucketIntelligentTieringConfiguration | | | DeleteBucketIntelligentTieringConfiguration |
| | DeleteBucketInventoryConfiguration | | | DeleteBucketInventoryConfiguration |
| | DeleteBucketLifecycle |
| | DeleteBucketMetricsConfiguration | | | DeleteBucketMetricsConfiguration |
| | DeleteBucketOwnershipControls | | | DeleteBucketOwnershipControls |
| | DeleteBucketPolicy | | | DeleteBucketPolicy |
@ -68,7 +70,6 @@ your motivations for doing so in the PR message.
| | GetBucketEncryption | | | GetBucketEncryption |
| | GetBucketIntelligentTieringConfiguration | | | GetBucketIntelligentTieringConfiguration |
| | GetBucketInventoryConfiguration | | | GetBucketInventoryConfiguration |
| | GetBucketLifecycleConfiguration |
| | GetBucketLogging | | | GetBucketLogging |
| | GetBucketMetricsConfiguration | | | GetBucketMetricsConfiguration |
| | GetBucketNotificationConfiguration | | | GetBucketNotificationConfiguration |
@ -90,7 +91,6 @@ your motivations for doing so in the PR message.
| | PutBucketEncryption | | | PutBucketEncryption |
| | PutBucketIntelligentTieringConfiguration | | | PutBucketIntelligentTieringConfiguration |
| | PutBucketInventoryConfiguration | | | PutBucketInventoryConfiguration |
| | PutBucketLifecycleConfiguration |
| | PutBucketLogging | | | PutBucketLogging |
| | PutBucketMetricsConfiguration | | | PutBucketMetricsConfiguration |
| | PutBucketNotificationConfiguration | | | PutBucketNotificationConfiguration |