@@ -20,10 +20,10 @@ import (
2020 "crypto/tls"
2121 "crypto/x509"
2222 "fmt"
23+ "net/url"
2324
2425 "helm.sh/helm/v3/pkg/getter"
2526 corev1 "k8s.io/api/core/v1"
26- "k8s.io/helm/pkg/urlutil"
2727)
2828
2929// ClientOptionsFromSecret constructs a getter.Option slice for the given secret.
@@ -61,7 +61,7 @@ func BasicAuthFromSecret(secret corev1.Secret) (getter.Option, error) {
6161//
6262// Secrets with no certFile, keyFile, AND caFile are ignored, if only a
6363// certBytes OR keyBytes is defined it returns an error.
64- func TLSClientConfigFromSecret (secret corev1.Secret , url string ) (* tls.Config , error ) {
64+ func TLSClientConfigFromSecret (secret corev1.Secret , repositoryUrl string ) (* tls.Config , error ) {
6565 certBytes , keyBytes , caBytes := secret .Data ["certFile" ], secret .Data ["keyFile" ], secret .Data ["caFile" ]
6666 switch {
6767 case len (certBytes )+ len (keyBytes )+ len (caBytes ) == 0 :
@@ -91,11 +91,12 @@ func TLSClientConfigFromSecret(secret corev1.Secret, url string) (*tls.Config, e
9191
9292 tlsConf .BuildNameToCertificate ()
9393
94- sni , err := urlutil . ExtractHostname ( url )
94+ u , err := url . Parse ( repositoryUrl )
9595 if err != nil {
96- return nil , err
96+ return nil , fmt . Errorf ( "cannot parse repository URL: %w" , err )
9797 }
98- tlsConf .ServerName = sni
98+
99+ tlsConf .ServerName = u .Hostname ()
99100
100101 return tlsConf , nil
101102}
0 commit comments