Please describe the problem.
Similar to the x-amz-meta-* S3 remote configuration, it would be useful to be able to configure an S3 remote with the x-amz-tagging header passed to putObject. Unlike x-amz-meta values, tags can be updated without copying objects to a new version.
An example use case is publishing a private dataset where a bucket policy is used to limit access by default (tagged private on the initial export) and objects are progressively made public after an embargo period.
What version of git-annex are you using? On what operating system?
10.20250929 on Fedora 43.
Implementing this will need changes to the haskell aws library, since it does not allow setting this header.
I opened an issue https://github.com/aristidb/aws/issues/294
Update: This will need git-annex to be built with aws-0.25. If a S3 special remote is configured with this header, and an older version of git-annex or a git-annex built with an older version of aws is used, it will just not send along the header when storing an object.
So if your use case involves making newly uploaded objects private, you'll want to make sure you're always using a build of git-annex that supports it.