created aws session differently
parent
ed551df33a
commit
43b8eb8f52
|
@ -45,9 +45,11 @@ type CredentialsHelper struct {
|
|||
|
||||
// New creates a new instance of aws credentials helper
|
||||
func New() *CredentialsHelper {
|
||||
ch := &CredentialsHelper{}
|
||||
ch.enabled = true
|
||||
ch.cache = NewCache(AWSCredentialsExpiry)
|
||||
ch := &CredentialsHelper{
|
||||
enabled: true,
|
||||
cache: NewCache(AWSCredentialsExpiry),
|
||||
}
|
||||
|
||||
return ch
|
||||
}
|
||||
|
||||
|
@ -70,14 +72,14 @@ func (h *CredentialsHelper) GetCredentials(image *types.TrackedImage) (*types.Cr
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// set region
|
||||
sess := newAwsSession(region)
|
||||
svc := ecr.New(sess)
|
||||
|
||||
cached, err := h.cache.Get(registry)
|
||||
if err == nil {
|
||||
return cached, nil
|
||||
}
|
||||
// fetch region from registry instead of env
|
||||
svc := ecr.New(session.New(), &aws.Config{
|
||||
Region: aws.String(region),
|
||||
})
|
||||
|
||||
input := &ecr.GetAuthorizationTokenInput{}
|
||||
|
||||
|
@ -135,6 +137,14 @@ func (h *CredentialsHelper) GetCredentials(image *types.TrackedImage) (*types.Cr
|
|||
return nil, fmt.Errorf("not found")
|
||||
}
|
||||
|
||||
func newAwsSession(region string) *session.Session {
|
||||
sess := session.Must(session.NewSession(&aws.Config{
|
||||
Region: aws.String(region),
|
||||
}))
|
||||
|
||||
return sess
|
||||
}
|
||||
|
||||
func decodeBase64Secret(authSecret string) (username, password string, err error) {
|
||||
decoded, err := base64.StdEncoding.DecodeString(authSecret)
|
||||
if err != nil {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package aws
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/keel-hq/keel/registry"
|
||||
|
@ -11,10 +10,6 @@ import (
|
|||
|
||||
func TestAWS(t *testing.T) {
|
||||
|
||||
if os.Getenv("AWS_ACCESS_KEY_ID") == "" {
|
||||
t.Skip()
|
||||
}
|
||||
|
||||
ch := New()
|
||||
|
||||
// image
|
||||
|
@ -48,10 +43,8 @@ func TestAWS(t *testing.T) {
|
|||
|
||||
func TestCredentialsCaching(t *testing.T) {
|
||||
|
||||
if os.Getenv("AWS_ACCESS_KEY_ID") == "" {
|
||||
t.Skip()
|
||||
}
|
||||
ch := New()
|
||||
|
||||
imgRef, _ := image.Parse("528670773427.dkr.ecr.us-east-2.amazonaws.com/webhook-demo:master")
|
||||
for i := 0; i < 200; i++ {
|
||||
_, err := ch.GetCredentials(&types.TrackedImage{
|
||||
|
|
Loading…
Reference in New Issue