Merge pull request #2147 from tonistiigi/bake-shared-authprovider

bake: use same auth provider for bake targets
This commit is contained in:
CrazyMax 2023-12-01 03:24:17 -08:00 committed by GitHub
commit b2f705ad71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1011,12 +1011,17 @@ func (t *Target) GetName(ectx *hcl.EvalContext, block *hcl.Block, loadDeps func(
} }
func TargetsToBuildOpt(m map[string]*Target, inp *Input) (map[string]build.Options, error) { func TargetsToBuildOpt(m map[string]*Target, inp *Input) (map[string]build.Options, error) {
// make sure local credentials are loaded multiple times for different targets
dockerConfig := config.LoadDefaultConfigFile(os.Stderr)
authProvider := authprovider.NewDockerAuthProvider(dockerConfig, nil)
m2 := make(map[string]build.Options, len(m)) m2 := make(map[string]build.Options, len(m))
for k, v := range m { for k, v := range m {
bo, err := toBuildOpt(v, inp) bo, err := toBuildOpt(v, inp)
if err != nil { if err != nil {
return nil, err return nil, err
} }
bo.Session = append(bo.Session, authProvider)
m2[k] = *bo m2[k] = *bo
} }
return m2, nil return m2, nil
@ -1247,9 +1252,6 @@ func toBuildOpt(t *Target, inp *Input) (*build.Options, error) {
} }
bo.Platforms = platforms bo.Platforms = platforms
dockerConfig := config.LoadDefaultConfigFile(os.Stderr)
bo.Session = append(bo.Session, authprovider.NewDockerAuthProvider(dockerConfig, nil))
secrets, err := buildflags.ParseSecretSpecs(t.Secrets) secrets, err := buildflags.ParseSecretSpecs(t.Secrets)
if err != nil { if err != nil {
return nil, err return nil, err