Fix httpclient setup for gcp credential provider to have timeout
This commit is contained in:
parent
c0579af684
commit
5366bfe08d
@ -24,6 +24,7 @@ import (
|
|||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"k8s.io/kubernetes/pkg/credentialprovider"
|
"k8s.io/kubernetes/pkg/credentialprovider"
|
||||||
|
utilnet "k8s.io/kubernetes/pkg/util/net"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -74,10 +75,16 @@ type containerRegistryProvider struct {
|
|||||||
// init registers the various means by which credentials may
|
// init registers the various means by which credentials may
|
||||||
// be resolved on GCP.
|
// be resolved on GCP.
|
||||||
func init() {
|
func init() {
|
||||||
|
tr := utilnet.SetTransportDefaults(&http.Transport{})
|
||||||
|
metadataHTTPClientTimeout := time.Second * 10
|
||||||
|
httpClient := &http.Client{
|
||||||
|
Transport: tr,
|
||||||
|
Timeout: metadataHTTPClientTimeout,
|
||||||
|
}
|
||||||
credentialprovider.RegisterCredentialProvider("google-dockercfg",
|
credentialprovider.RegisterCredentialProvider("google-dockercfg",
|
||||||
&credentialprovider.CachingDockerConfigProvider{
|
&credentialprovider.CachingDockerConfigProvider{
|
||||||
Provider: &dockerConfigKeyProvider{
|
Provider: &dockerConfigKeyProvider{
|
||||||
metadataProvider{Client: http.DefaultClient},
|
metadataProvider{Client: httpClient},
|
||||||
},
|
},
|
||||||
Lifetime: 60 * time.Second,
|
Lifetime: 60 * time.Second,
|
||||||
})
|
})
|
||||||
@ -85,7 +92,7 @@ func init() {
|
|||||||
credentialprovider.RegisterCredentialProvider("google-dockercfg-url",
|
credentialprovider.RegisterCredentialProvider("google-dockercfg-url",
|
||||||
&credentialprovider.CachingDockerConfigProvider{
|
&credentialprovider.CachingDockerConfigProvider{
|
||||||
Provider: &dockerConfigUrlKeyProvider{
|
Provider: &dockerConfigUrlKeyProvider{
|
||||||
metadataProvider{Client: http.DefaultClient},
|
metadataProvider{Client: httpClient},
|
||||||
},
|
},
|
||||||
Lifetime: 60 * time.Second,
|
Lifetime: 60 * time.Second,
|
||||||
})
|
})
|
||||||
@ -94,7 +101,7 @@ func init() {
|
|||||||
// Never cache this. The access token is already
|
// Never cache this. The access token is already
|
||||||
// cached by the metadata service.
|
// cached by the metadata service.
|
||||||
&containerRegistryProvider{
|
&containerRegistryProvider{
|
||||||
metadataProvider{Client: http.DefaultClient},
|
metadataProvider{Client: httpClient},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user