peak / s5cmd

Parallel S3 and local filesystem execution tool.
MIT License
2.71k stars 239 forks source link

cp,pipe: don't omit some of the metadata flags #658

Closed denizsurmeli closed 1 year ago

denizsurmeli commented 1 year ago

657 mentioned that acl flag was broken in v2.2.1. After looking at the issue, it was discovered that not only the acl flag was broken, there are couple of more flags that were being omitted during the mentioned commands, which all of them caused by this faulty PR.

Resolves #657.

denizsurmeli commented 1 year ago

I'm afraid that some of the metadata flags(acl, expires and cache-control) are not supported by gofakes3. We can try to patch the fork or we can run these tests against a minio or localstack instance maybe ?

denizsurmeli commented 1 year ago

This PR adds support for the missing metadata flags, except for the ACL, since the ACL of the object is not a part of the s3.GetObjectResult but a separate call, namely the s3.GetObjectACL. This call however is not implemented in gofakes3, I'm working on an implementation but it might take a while. I have prepared the tests for all other flags except ACL, which I will push to this branch after the gofakes3 PR is merged.

denizsurmeli commented 1 year ago

@seruman, 5394a50 covers all flags except the ACL. Would you like to discuss a strategy on how should we test that feature ? Currently, gofakes3 does not implement ACL related features, we either can work on that feature for it or prepare an "integration" test where we run the test against a minio or localstack instance, really any s3 compatible storage service where it supports ACL features.