diff --git a/go.mod b/go.mod index 1c9320a61c..3016374177 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.26.0 require ( github.com/aws/aws-sdk-go-v2 v1.41.4 github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 + github.com/aws/smithy-go v1.24.2 github.com/buildpacks/pack v0.39.1 github.com/c-bata/go-prompt v0.2.6 github.com/charmbracelet/bubbletea v1.3.10 @@ -72,7 +73,6 @@ require ( github.com/aws/aws-sdk-go-v2/service/sso v1.30.11 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.15 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.41.7 // indirect - github.com/aws/smithy-go v1.24.2 // indirect github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect diff --git a/internal/namespaces/object/v1/s3_helpers.go b/internal/namespaces/object/v1/s3_helpers.go index abe6b31f6d..fa8968080e 100644 --- a/internal/namespaces/object/v1/s3_helpers.go +++ b/internal/namespaces/object/v1/s3_helpers.go @@ -8,8 +8,10 @@ import ( "strings" "github.com/aws/aws-sdk-go-v2/aws" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/service/s3" "github.com/aws/aws-sdk-go-v2/service/s3/types" + "github.com/aws/smithy-go/middleware" "github.com/scaleway/scaleway-cli/v2/core" "github.com/scaleway/scaleway-sdk-go/scw" ) @@ -17,6 +19,7 @@ import ( func newS3Client(ctx context.Context, region scw.Region) *s3.Client { httpClient := core.ExtractHTTPClient(ctx) scwClient := core.ExtractClient(ctx) + buildInfo := core.ExtractBuildInfo(ctx) accessKey, ok := scwClient.GetAccessKey() if !ok { return nil @@ -33,8 +36,17 @@ func newS3Client(ctx context.Context, region scw.Region) *s3.Client { customEndpoint = "https://s3." + region.String() + ".scw.cloud" } + options := []func(*middleware.Stack) error{ + func(stack *middleware.Stack) error { + return awsmiddleware.AddUserAgentKeyValue( + "scaleway-cli", + buildInfo.Version.String(), + )(stack) + }, + } + return s3.New(s3.Options{ - APIOptions: nil, + APIOptions: options, ClientLogMode: 0, Credentials: aws.CredentialsProviderFunc(func(_ context.Context) (aws.Credentials, error) { return aws.Credentials{