From 7c7cff6d27b925c516b02e36795d1b5827307124 Mon Sep 17 00:00:00 2001 From: hasheddan Date: Tue, 30 Mar 2021 17:15:54 -0500 Subject: [PATCH] Add timeout to Azure ACR credential provider Adds a default timeout to the Azure ACR HTTP client to avoid hanging when unable to reach server. Signed-off-by: hasheddan --- pkg/credentialprovider/azure/azure_acr_helper.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/credentialprovider/azure/azure_acr_helper.go b/pkg/credentialprovider/azure/azure_acr_helper.go index 347b1658a91..ec4af71a28a 100644 --- a/pkg/credentialprovider/azure/azure_acr_helper.go +++ b/pkg/credentialprovider/azure/azure_acr_helper.go @@ -57,7 +57,10 @@ import ( "net/url" "strconv" "strings" + "time" "unicode" + + utilnet "k8s.io/apimachinery/pkg/util/net" ) type authDirective struct { @@ -75,7 +78,10 @@ const userAgent = "kubernetes-credentialprovider-acr" const dockerTokenLoginUsernameGUID = "00000000-0000-0000-0000-000000000000" -var client = &http.Client{} +var client = &http.Client{ + Transport: utilnet.SetTransportDefaults(&http.Transport{}), + Timeout: time.Second * 10, +} func receiveChallengeFromLoginServer(serverAddress string) (*authDirective, error) { challengeURL := url.URL{