mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
commit
a1cd7311f7
@ -305,6 +305,14 @@ func (config *DirectClientConfig) getCluster() clientcmdapi.Cluster {
|
|||||||
mergo.Merge(&mergedClusterInfo, configClusterInfo)
|
mergo.Merge(&mergedClusterInfo, configClusterInfo)
|
||||||
}
|
}
|
||||||
mergo.Merge(&mergedClusterInfo, config.overrides.ClusterInfo)
|
mergo.Merge(&mergedClusterInfo, config.overrides.ClusterInfo)
|
||||||
|
// An override of --insecure-skip-tls-verify=true and no accompanying CA/CA data should clear already-set CA/CA data
|
||||||
|
// otherwise, a kubeconfig containing a CA reference would return an error that "CA and insecure-skip-tls-verify couldn't both be set"
|
||||||
|
caLen := len(config.overrides.ClusterInfo.CertificateAuthority)
|
||||||
|
caDataLen := len(config.overrides.ClusterInfo.CertificateAuthorityData)
|
||||||
|
if config.overrides.ClusterInfo.InsecureSkipTLSVerify && caLen == 0 && caDataLen == 0 {
|
||||||
|
mergedClusterInfo.CertificateAuthority = ""
|
||||||
|
mergedClusterInfo.CertificateAuthorityData = nil
|
||||||
|
}
|
||||||
|
|
||||||
return mergedClusterInfo
|
return mergedClusterInfo
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,31 @@ func createValidTestConfig() *clientcmdapi.Config {
|
|||||||
return config
|
return config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func createCAValidTestConfig() *clientcmdapi.Config {
|
||||||
|
|
||||||
|
config := createValidTestConfig()
|
||||||
|
config.Clusters["clean"].CertificateAuthorityData = []byte{0, 0}
|
||||||
|
return config
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestInsecureOverridesCA(t *testing.T) {
|
||||||
|
config := createCAValidTestConfig()
|
||||||
|
clientBuilder := NewNonInteractiveClientConfig(*config, "clean", &ConfigOverrides{
|
||||||
|
ClusterInfo: clientcmdapi.Cluster{
|
||||||
|
InsecureSkipTLSVerify: true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
actualCfg, err := clientBuilder.ClientConfig()
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
matchBoolArg(true, actualCfg.Insecure, t)
|
||||||
|
matchStringArg("", actualCfg.TLSClientConfig.CAFile, t)
|
||||||
|
matchByteArg(nil, actualCfg.TLSClientConfig.CAData, t)
|
||||||
|
}
|
||||||
|
|
||||||
func TestMergeContext(t *testing.T) {
|
func TestMergeContext(t *testing.T) {
|
||||||
const namespace = "overriden-namespace"
|
const namespace = "overriden-namespace"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user