in credhelper/helper.go [123:146]
func (ch *gcrCredHelper) getGCRAccessToken() (string, error) {
var token string
var err error
tokenSources := ch.userCfg.TokenSources()
for _, source := range tokenSources {
switch source {
case "env":
token, err = ch.envToken()
case "gcloud", "gcloud_sdk": // gcloud_sdk supported for legacy reasons
token, err = ch.gcloudSDKToken(ch.gcloudCmd)
case "store":
token, err = ch.credStoreToken(ch.store)
default:
return "", helperErr("unknown token source: "+source, nil)
}
// if we successfully retrieved a token, break.
if err == nil {
break
}
}
return token, err
}