func LoadCredentials()

in internal/dockerconfig/config.go [48:73]


func LoadCredentials(cfg credentialGetter) (File, error) {
	creds, err := cfg.GetAllCredentials()
	if err != nil {
		return File{}, err
	}

	credentials := File{Auths: make(map[string]Credential)}
	for k, cred := range creds {
		if cred.Auth != "" {
			credentials.Auths[k] = Credential{Auth: cred.Auth}
			continue
		}

		if cred.Username == "" && cred.Password == "" {
			continue
		}

		credentials.Auths[k] = Credential{
			Auth: base64.StdEncoding.EncodeToString([]byte(
				fmt.Sprintf("%s:%s", cred.Username, cred.Password),
			)),
		}
	}

	return credentials, nil
}