Adjust PutObject satellite endpoint (object retention)
Closed this issue · 10 comments
Goal
This issue is to make meaningful progress on Object Lock implementation within core and edge services. Specifically, to support immutable backups in backup software products like Veeam.
What needs to be done? • Acceptance Criteria
Modify the corresponding to PutObject endpoint on the satellite (the endpoint might be named differently) to respect the lock information passed with the upload request:
- Don't allow locked object versions to be overwritten
- Take into account lock mode and retain-until-date parameters passed by the client
- Legal Hold and governance mode (retention mode) is out of scope at this moment
Summary
Note
The Content-MD5 header is required for any request to upload an object with a retention period configured using Amazon S3 Object Lock.
Should only the gateway enforce this?
Depends on…
Links
- https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
- an easy-to-read and insightful introduction to Object Lock: Using S3 Object Lock
Change satellite/{metabase/metainfo}: allow uploading objects with retention mentions this issue.
Change satellite/{metabase,metainfo}: make CommitObject respect retention mentions this issue.
Change satellite/metainfo: allow setting retention via BeginObject mentions this issue.
Change satellite/metabase: preserve retention when committing object mentions this issue.
Change satellite/metainfo: prevent CommitObject from deleting locked objects mentions this issue.
Change satellite/metabase: allow setting retention via CommitInlineObject mentions this issue.
Change satellite/metabase: prevent CommitInlineObject from deleting locked objects mentions this issue.
Change satellite/metainfo: allow setting retention via CommitInlineObject mentions this issue.
From our sync with Jeremy: changes are complete and only reviews are needed.
Change satellite/metabase: prevent committing objects with retention and TTL mentions this issue.