code: func (g *containerRegistryProvider) Provide(image string) credentialprovider.DockerConfig {
  	cfg := credentialprovider.DockerConfig{}
  
  	tokenJsonBlob, err := credentialprovider.ReadUrl(metadataToken, g.Client, metadataHeader)
  	if err != nil {
  		klog.Errorf("while reading access token endpoint: %v", err)
  		return cfg
  	}
  
  	email, err := credentialprovider.ReadUrl(metadataEmail, g.Client, metadataHeader)
  	if err != nil {
  		klog.Errorf("while reading email endpoint: %v", err)
  		return cfg
  	}
  
  	var parsedBlob tokenBlob
  	if err := json.Unmarshal([]byte(tokenJsonBlob), &parsedBlob); err != nil {
  		klog.Errorf("while parsing json blob %s: %v", tokenJsonBlob, err)
  		return cfg
  	}
  
  	entry := credentialprovider.DockerConfigEntry{
  		Username: "_token",
  		Password: parsedBlob.AccessToken,
  		Email:    string(email),
  	}
  
  	// Add our entry for each of the supported container registry URLs
  	for _, k := range containerRegistryUrls {
  		cfg[k] = entry
  	}
  	return cfg
  }
docs: // Provide implements DockerConfigProvider