Merge pull request #1086 from kamsz/iam
Add support for IAM instance profile
This commit is contained in:
commit
80f0303b21
1 changed files with 19 additions and 3 deletions
|
@ -14,6 +14,7 @@ import (
|
||||||
"restic/errors"
|
"restic/errors"
|
||||||
|
|
||||||
"github.com/minio/minio-go"
|
"github.com/minio/minio-go"
|
||||||
|
"github.com/minio/minio-go/pkg/credentials"
|
||||||
|
|
||||||
"restic/debug"
|
"restic/debug"
|
||||||
)
|
)
|
||||||
|
@ -38,10 +39,25 @@ func open(cfg Config) (*Backend, error) {
|
||||||
minio.MaxRetry = int(cfg.MaxRetries)
|
minio.MaxRetry = int(cfg.MaxRetries)
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err := minio.New(cfg.Endpoint, cfg.KeyID, cfg.Secret, !cfg.UseHTTP)
|
var client *minio.Client
|
||||||
|
var err error
|
||||||
|
|
||||||
|
if cfg.KeyID == "" || cfg.Secret == "" {
|
||||||
|
debug.Log("key/secret not found, trying to get them from IAM")
|
||||||
|
creds := credentials.NewIAM("")
|
||||||
|
client, err = minio.NewWithCredentials(cfg.Endpoint, creds, !cfg.UseHTTP, "")
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrap(err, "minio.NewWithCredentials")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
debug.Log("key/secret found")
|
||||||
|
client, err = minio.New(cfg.Endpoint, cfg.KeyID, cfg.Secret, !cfg.UseHTTP)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "minio.New")
|
return nil, errors.Wrap(err, "minio.New")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sem, err := backend.NewSemaphore(cfg.Connections)
|
sem, err := backend.NewSemaphore(cfg.Connections)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue