Skip to content

Commit 0b8c1aa

Browse files
authored
chore: add support for user agent in s3client (#5389)
1 parent 9d69db3 commit 0b8c1aa

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ go 1.26.0
55
require (
66
github.com/aws/aws-sdk-go-v2 v1.41.4
77
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1
8+
github.com/aws/smithy-go v1.24.2
89
github.com/buildpacks/pack v0.39.1
910
github.com/c-bata/go-prompt v0.2.6
1011
github.com/charmbracelet/bubbletea v1.3.10
@@ -72,7 +73,6 @@ require (
7273
github.com/aws/aws-sdk-go-v2/service/sso v1.30.11 // indirect
7374
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.15 // indirect
7475
github.com/aws/aws-sdk-go-v2/service/sts v1.41.7 // indirect
75-
github.com/aws/smithy-go v1.24.2 // indirect
7676
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 // indirect
7777
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
7878
github.com/beorn7/perks v1.0.1 // indirect

internal/namespaces/object/v1/s3_helpers.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,18 @@ import (
88
"strings"
99

1010
"github.com/aws/aws-sdk-go-v2/aws"
11+
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
1112
"github.com/aws/aws-sdk-go-v2/service/s3"
1213
"github.com/aws/aws-sdk-go-v2/service/s3/types"
14+
"github.com/aws/smithy-go/middleware"
1315
"github.com/scaleway/scaleway-cli/v2/core"
1416
"github.com/scaleway/scaleway-sdk-go/scw"
1517
)
1618

1719
func newS3Client(ctx context.Context, region scw.Region) *s3.Client {
1820
httpClient := core.ExtractHTTPClient(ctx)
1921
scwClient := core.ExtractClient(ctx)
22+
buildInfo := core.ExtractBuildInfo(ctx)
2023
accessKey, ok := scwClient.GetAccessKey()
2124
if !ok {
2225
return nil
@@ -33,8 +36,17 @@ func newS3Client(ctx context.Context, region scw.Region) *s3.Client {
3336
customEndpoint = "https://s3." + region.String() + ".scw.cloud"
3437
}
3538

39+
options := []func(*middleware.Stack) error{
40+
func(stack *middleware.Stack) error {
41+
return awsmiddleware.AddUserAgentKeyValue(
42+
"scaleway-cli",
43+
buildInfo.Version.String(),
44+
)(stack)
45+
},
46+
}
47+
3648
return s3.New(s3.Options{
37-
APIOptions: nil,
49+
APIOptions: options,
3850
ClientLogMode: 0,
3951
Credentials: aws.CredentialsProviderFunc(func(_ context.Context) (aws.Credentials, error) {
4052
return aws.Credentials{

0 commit comments

Comments
 (0)