get.porter.sh/porter@v1.3.0/pkg/cnab/provider/credentials.go (about) 1 package cnabprovider 2 3 import ( 4 "context" 5 6 "get.porter.sh/porter/pkg/cnab" 7 "get.porter.sh/porter/pkg/storage" 8 "get.porter.sh/porter/pkg/tracing" 9 ) 10 11 func (r *Runtime) loadCredentials(ctx context.Context, b cnab.ExtendedBundle, run *storage.Run) error { 12 ctx, span := tracing.StartSpan(ctx) 13 defer span.EndSpan() 14 15 resolvedCredentials, err := r.credentials.ResolveAll(ctx, run.Credentials, run.Credentials.Keys()) 16 if err != nil { 17 return span.Error(err) 18 } 19 20 for i, cred := range run.Credentials.Credentials { 21 if resolvedValue, ok := resolvedCredentials[cred.Name]; ok { 22 run.Credentials.Credentials[i].ResolvedValue = resolvedValue 23 } 24 } 25 26 err = run.Credentials.ValidateBundle(b.Credentials, run.Action) 27 if err != nil { 28 return span.Error(err) 29 } 30 31 err = run.SetCredentialsDigest() 32 if err != nil { 33 // Just warn since the digest isn't critical for running the bundle 34 // If it's not set properly, we will recalculate as needed 35 span.Warnf("WARNING: unable to set the run's credentials digest: %w", err) 36 } 37 38 return nil 39 }