Commit 75689dd4 authored by k8s-merge-robot's avatar k8s-merge-robot Committed by GitHub

Merge pull request #28539 from derekwaynecarr/credential_provider_timeout

Automatic merge from submit-queue Fix httpclient setup for gcp credential provider to have timeout The default http client has no timeout. This could cause problems when not on GCP environments. This PR changes to use a 10s timeout, and ensures the transport has our normal defaults applied. /cc @ncdc @liggitt
parents 64d185f5 5366bfe0
......@@ -25,6 +25,7 @@ import (
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/credentialprovider"
utilnet "k8s.io/kubernetes/pkg/util/net"
)
const (
......@@ -82,10 +83,16 @@ type containerRegistryProvider struct {
// init registers the various means by which credentials may
// be resolved on GCP.
func init() {
tr := utilnet.SetTransportDefaults(&http.Transport{})
metadataHTTPClientTimeout := time.Second * 10
httpClient := &http.Client{
Transport: tr,
Timeout: metadataHTTPClientTimeout,
}
credentialprovider.RegisterCredentialProvider("google-dockercfg",
&credentialprovider.CachingDockerConfigProvider{
Provider: &dockerConfigKeyProvider{
metadataProvider{Client: http.DefaultClient},
metadataProvider{Client: httpClient},
},
Lifetime: 60 * time.Second,
})
......@@ -93,7 +100,7 @@ func init() {
credentialprovider.RegisterCredentialProvider("google-dockercfg-url",
&credentialprovider.CachingDockerConfigProvider{
Provider: &dockerConfigUrlKeyProvider{
metadataProvider{Client: http.DefaultClient},
metadataProvider{Client: httpClient},
},
Lifetime: 60 * time.Second,
})
......@@ -102,7 +109,7 @@ func init() {
// Never cache this. The access token is already
// cached by the metadata service.
&containerRegistryProvider{
metadataProvider{Client: http.DefaultClient},
metadataProvider{Client: httpClient},
})
}
......
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