@@ -15,9 +15,9 @@ import (
15
15
"github.com/cristalhq/hedgedhttp"
16
16
gkLog "github.com/go-kit/log"
17
17
"github.com/go-kit/log/level"
18
- minio "github.com/minio/minio-go/v7"
18
+ "github.com/minio/minio-go/v7"
19
19
"github.com/minio/minio-go/v7/pkg/credentials"
20
- opentracing "github.com/opentracing/opentracing-go"
20
+ "github.com/opentracing/opentracing-go"
21
21
"github.com/pkg/errors"
22
22
23
23
tempo_io "github.com/grafana/tempo/pkg/io"
@@ -355,25 +355,35 @@ func createCore(cfg *Config, hedge bool) (*minio.Core, error) {
355
355
return p
356
356
}
357
357
358
- creds := credentials .NewChainCredentials ([]credentials.Provider {
359
- wrapCredentialsProvider (NewAWSSDKAuth (cfg .Region )),
360
- wrapCredentialsProvider (& credentials.EnvAWS {}),
361
- wrapCredentialsProvider (& credentials.Static {
362
- Value : credentials.Value {
363
- AccessKeyID : cfg .AccessKey ,
364
- SecretAccessKey : cfg .SecretKey .String (),
365
- SessionToken : cfg .SessionToken .String (),
366
- },
367
- }),
368
- wrapCredentialsProvider (& credentials.EnvMinio {}),
369
- wrapCredentialsProvider (& credentials.FileAWSCredentials {}),
370
- wrapCredentialsProvider (& credentials.FileMinioClient {}),
371
- wrapCredentialsProvider (& credentials.IAM {
372
- Client : & http.Client {
373
- Transport : http .DefaultTransport ,
374
- },
375
- }),
376
- })
358
+ var chain []credentials.Provider
359
+
360
+ if cfg .NativeAWSAuthEnabled {
361
+ chain = []credentials.Provider {
362
+ wrapCredentialsProvider (NewAWSSDKAuth (cfg .Region )),
363
+ }
364
+ } else if cfg .AccessKey != "" {
365
+ chain = []credentials.Provider {
366
+ wrapCredentialsProvider (& credentials.Static {
367
+ Value : credentials.Value {
368
+ AccessKeyID : cfg .AccessKey ,
369
+ SecretAccessKey : cfg .SecretKey .String (),
370
+ SessionToken : cfg .SessionToken .String (),
371
+ },
372
+ }),
373
+ }
374
+ } else {
375
+ chain = []credentials.Provider {
376
+ wrapCredentialsProvider (& credentials.EnvAWS {}),
377
+ wrapCredentialsProvider (& credentials.EnvMinio {}),
378
+ wrapCredentialsProvider (& credentials.FileAWSCredentials {}),
379
+ wrapCredentialsProvider (& credentials.FileMinioClient {}),
380
+ wrapCredentialsProvider (& credentials.IAM {
381
+ Client : & http.Client {
382
+ Transport : http .DefaultTransport ,
383
+ },
384
+ }),
385
+ }
386
+ }
377
387
378
388
customTransport , err := minio .DefaultTransport (! cfg .Insecure )
379
389
if err != nil {
@@ -404,7 +414,7 @@ func createCore(cfg *Config, hedge bool) (*minio.Core, error) {
404
414
opts := & minio.Options {
405
415
Region : cfg .Region ,
406
416
Secure : ! cfg .Insecure ,
407
- Creds : creds ,
417
+ Creds : credentials . NewChainCredentials ( chain ) ,
408
418
Transport : transport ,
409
419
}
410
420
0 commit comments