diff --git a/workhorse/internal/upload/destination/objectstore/s3_client.go b/workhorse/internal/upload/destination/objectstore/s3_client.go index ca8e05c5feb2badb3f895bdd5242aab9a5b46087..4c7ecc73c2f56a6ed6f95ba4b2b7d7bb760aa955 100644 --- a/workhorse/internal/upload/destination/objectstore/s3_client.go +++ b/workhorse/internal/upload/destination/objectstore/s3_client.go @@ -82,6 +82,7 @@ func setupS3Client(s3Credentials config.S3Credentials, s3Config config.S3Config) o.BaseEndpoint = aws.String(s3Config.Endpoint) } o.UsePathStyle = s3Config.PathStyle + o.RequestChecksumCalculation = aws.RequestChecksumCalculationWhenRequired }) clientCache.clients[s3Config] = &s3Client{ diff --git a/workhorse/internal/upload/destination/objectstore/s3_client_test.go b/workhorse/internal/upload/destination/objectstore/s3_client_test.go index 2d5684dde93b5f7d437584efc810b3dff4061641..cae656409ed539797a821a4c1afedfcef46c372b 100644 --- a/workhorse/internal/upload/destination/objectstore/s3_client_test.go +++ b/workhorse/internal/upload/destination/objectstore/s3_client_test.go @@ -7,6 +7,8 @@ import ( "github.com/stretchr/testify/require" "gitlab.com/gitlab-org/gitlab/workhorse/internal/config" + + "github.com/aws/aws-sdk-go-v2/aws" ) func TestS3ClientSetup(t *testing.T) { @@ -22,6 +24,7 @@ func TestS3ClientSetup(t *testing.T) { require.Nil(t, options.BaseEndpoint) require.Equal(t, "us-west-1", options.Region) require.True(t, options.UsePathStyle) + require.Equal(t, aws.RequestChecksumCalculationWhenRequired, options.RequestChecksumCalculation) clientCache.Lock() require.Len(t, clientCache.clients, 1)