in cli/configure-docker.go [95:141]
func (c *dockerConfigCmd) setConfig(dockerConfig *configfile.ConfigFile, helperSuffix string) subcommands.ExitStatus {
// We always overwrite since there's no way that we can accidentally
// disable other credentials as a registry-specific credential helper.
if dockerConfig.CredentialHelpers == nil {
dockerConfig.CredentialHelpers = map[string]string{}
}
var registries []string
if c.registries == "" {
fmt.Println("Configuring default registries....")
fmt.Println("WARNING: A long list of credential helpers may cause delays running 'docker build'.")
fmt.Println("We recommend passing the registry names via the --registries flag for the specific registries you are using")
if c.includeArtifactRegistry {
fmt.Println("Adding config for all GCR and AR registries.")
registries = append(config.DefaultGCRRegistries[:], config.DefaultARRegistries[:]...)
} else {
fmt.Println("Adding config for all GCR registries.")
registries = config.DefaultGCRRegistries[:]
}
} else {
fmt.Println("Configuring supplied registries....")
strReader := strings.NewReader(c.registries)
var err error
registries, err = csv.NewReader(strReader).Read()
if err != nil {
printErrorln("Unable to parse `--registries` value %q: %v", c.registries, err)
return subcommands.ExitFailure
}
fmt.Printf("Adding config for registries: %s\n", strings.Join(registries, ","))
}
for _, registry := range registries {
dockerConfig.CredentialHelpers[strings.TrimSpace(registry)] = helperSuffix
}
if err := dockerConfig.Save(); err != nil {
printErrorln("Unable to save docker config: %v", err)
return subcommands.ExitFailure
}
if c.includeArtifactRegistry {
fmt.Printf("%s configured to use this credential helper for GCR and AR registries\n", dockerConfig.Filename)
} else {
fmt.Printf("%s configured to use this credential helper for GCR registries\n", dockerConfig.Filename)
}
return subcommands.ExitSuccess
}