Commit 92710a33 authored by vaikas-google's avatar vaikas-google

Merge pull request #251 from vaikas-google/master

Allow unauthenticated requests to GCS for public buckets
parents 476e71f5 740a0b4f
......@@ -247,10 +247,6 @@ func NewGCSRegistryProvider(cp common.CredentialProvider) GCSRegistryProvider {
// GetGCSRegistry returns a new Google Cloud Storage . If there's a credential that is specified, will try
// to fetch it and use it, and if there's no credential found, will fall back to unauthenticated client.
func (gcsrp gcsRegistryProvider) GetGCSRegistry(cr common.Registry) (ObjectStorageRegistry, error) {
// If there's a credential that we need to use, fetch it and create a client for it.
if cr.CredentialName == "" {
return nil, fmt.Errorf("No CredentialName specified for %s", cr.Name)
}
client, err := gcsrp.createGCSClient(cr.CredentialName)
if err != nil {
return nil, err
......@@ -263,10 +259,15 @@ func (gcsrp gcsRegistryProvider) GetGCSRegistry(cr common.Registry) (ObjectStora
}
func (gcsrp gcsRegistryProvider) createGCSClient(credentialName string) (*http.Client, error) {
if credentialName == "" {
return http.DefaultClient, nil
}
c, err := gcsrp.cp.GetCredential(credentialName)
if err != nil {
log.Printf("Failed to fetch credential %s: %v", credentialName, err)
return nil, fmt.Errorf("Failed to fetch Credential %s: %s", credentialName, err)
log.Print("Trying to use unauthenticated client")
return http.DefaultClient, nil
}
config, err := google.JWTConfigFromJSON([]byte(c.ServiceAccount), storage.DevstorageReadOnlyScope)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment