From a422af05ba15a582e3ee39ba51c78e8238955f69 Mon Sep 17 00:00:00 2001 From: Alec Kloss Date: Fri, 17 Jan 2025 12:55:08 -0600 Subject: [PATCH] add flag to enable MD5 checksum for S3 upload This checksum is required if a bucket has Object Lock enabled by default. addresses https://github.com/argoproj/argo-workflows/issues/11182 Signed-off-by: Alec Kloss --- s3/s3.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/s3/s3.go b/s3/s3.go index e7fda4b8..cd0c1516 100644 --- a/s3/s3.go +++ b/s3/s3.go @@ -91,6 +91,7 @@ type S3ClientOpts struct { RoleSessionName string UseSDKCreds bool EncryptOpts EncryptOpts + SendContentMd5 bool } type s3client struct { @@ -219,7 +220,7 @@ func (s *s3client) PutFile(bucket, key, path string) error { return err } - _, err = s.minioClient.FPutObject(s.ctx, bucket, key, path, minio.PutObjectOptions{ServerSideEncryption: encOpts}) + _, err = s.minioClient.FPutObject(s.ctx, bucket, key, path, minio.PutObjectOptions{SendContentMd5: s.SendContentMd5, ServerSideEncryption: encOpts}) if err != nil { return err }