Currently, gateway (st/mt) cannot store metadata at the beginning. Because of that metadata provided by user is not preserved and it breaks some tools like rclone. We need to extend metainfo protocol to be able to store metadata at the beginning and at the end of MPU process. At the moment we need this just for gateway so we don't want to extend public API with this feature.
make private method BeginObject with the ability to set metadata (just for Gateway)
Its worth mentioning that to fix storing metadata with gateway for some time we will need to introduce additional round trip to satellite to get existing metadata before committing object. Later we need to implement https://github.com/storj/team-metainfo/milestone/3 to resolve this problem.
Acceptance Criteria:
use new private method from #106 to start MPU on gateway side
user metadata should be passed to this method
adjust gateway CompleteMultipartUpload to get object metadata (ListUploads) and add ETag to existing metadata
user metadata (extended by ETag) should be passed to CommitUpload method
test for that should be in gateway repository but are commented, we need to restore it
Currently, gateway (st/mt) cannot store metadata at the beginning. Because of that metadata provided by user is not preserved and it breaks some tools like rclone. We need to extend metainfo protocol to be able to store metadata at the beginning and at the end of MPU process. At the moment we need this just for gateway so we don't want to extend public API with this feature.
Steps to do that: https://github.com/storj/team-metainfo/issues/105:
https://github.com/storj/team-metainfo/issues/106
Its worth mentioning that to fix storing metadata with gateway for some time we will need to introduce additional round trip to satellite to get existing metadata before committing object. Later we need to implement https://github.com/storj/team-metainfo/milestone/3 to resolve this problem.
Acceptance Criteria:
ListUploads
) and add ETag to existing metadataCommitUpload
method