Skip to content

Commit 0747c2d

Browse files
committed
vfs: Pass VFS scheme to S3 client
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
1 parent eb186cb commit 0747c2d

2 files changed

Lines changed: 7 additions & 6 deletions

File tree

util/pkg/vfs/s3context.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,11 @@ func (*ResolverV2) ResolveEndpoint(ctx context.Context, params s3.EndpointParame
8484
return s3.NewDefaultEndpointResolverV2().ResolveEndpoint(ctx, params)
8585
}
8686

87-
func (s *S3Context) getClient(ctx context.Context, region string) (*s3.Client, error) {
87+
func (s *S3Context) getClient(ctx context.Context, region string, scheme string) (*s3.Client, error) {
8888
s.mutex.Lock()
8989
defer s.mutex.Unlock()
9090

91+
// Client configuration is currently determined by region and process-wide environment.
9192
s3Client := s.clients[region]
9293
if s3Client == nil {
9394
_, span := tracer.Start(ctx, "S3Context::getClient")
@@ -198,7 +199,7 @@ func (s *S3Context) getDetailsForBucket(ctx context.Context, bucket string) (*S3
198199
}
199200
var response *s3.GetBucketLocationOutput
200201

201-
s3Client, err := s.getClient(ctx, awsRegion)
202+
s3Client, err := s.getClient(ctx, awsRegion, "s3")
202203
if err != nil {
203204
return bucketDetails, fmt.Errorf("error connecting to S3: %s", err)
204205
}
@@ -235,7 +236,7 @@ func (s *S3Context) getDetailsForBucket(ctx context.Context, bucket string) (*S3
235236
return bucketDetails, nil
236237
}
237238

238-
func (b *S3BucketDetails) hasServerSideEncryptionByDefault(ctx context.Context) bool {
239+
func (b *S3BucketDetails) hasServerSideEncryptionByDefault(ctx context.Context, scheme string) bool {
239240
b.mutex.Lock()
240241
defer b.mutex.Unlock()
241242

@@ -251,7 +252,7 @@ func (b *S3BucketDetails) hasServerSideEncryptionByDefault(ctx context.Context)
251252
// We only make one attempt to find the SSE policy (even if there's an error)
252253
b.applyServerSideEncryptionByDefault = &applyServerSideEncryptionByDefault
253254

254-
client, err := b.context.getClient(ctx, b.region)
255+
client, err := b.context.getClient(ctx, b.region, scheme)
255256
if err != nil {
256257
klog.Warningf("Unable to read bucket encryption policy for %q in region %q: will encrypt using AES256", b.name, b.region)
257258
return false

util/pkg/vfs/s3fs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ func (p *S3Path) getServerSideEncryption(ctx context.Context) (sse types.ServerS
282282
if err != nil {
283283
return "", "", err
284284
}
285-
defaultEncryption := bucketDetails.hasServerSideEncryptionByDefault(ctx)
285+
defaultEncryption := bucketDetails.hasServerSideEncryptionByDefault(ctx, p.scheme)
286286
if defaultEncryption {
287287
sseLog = "DefaultBucketEncryption"
288288
} else {
@@ -529,7 +529,7 @@ func (p *S3Path) client(ctx context.Context) (*s3.Client, error) {
529529
return nil, err
530530
}
531531

532-
client, err := p.s3Context.getClient(ctx, bucketDetails.region)
532+
client, err := p.s3Context.getClient(ctx, bucketDetails.region, p.scheme)
533533
if err != nil {
534534
return nil, err
535535
}

0 commit comments

Comments
 (0)