Skip to content

Commit

Permalink
Drop references to auth-path and kubernetes_auth
Browse files Browse the repository at this point in the history
These are long gone, removed in 2016:
* AuthPath removal: kubernetes#29216
* Flag removal: kubernetes#40048

This removes the remnants from clientcmd, mostly in the comments
describing how the configuration is loaded.

Since getServerIdentificationPartialConfig can no longer fail (it
copies fields from one struct to another), this drops the error
return, along with the error handling in the caller.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
  • Loading branch information
skitt committed Jul 24, 2024
1 parent 58c4400 commit a690885
Showing 1 changed file with 10 additions and 21 deletions.
31 changes: 10 additions & 21 deletions staging/src/k8s.io/client-go/tools/clientcmd/client_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -243,43 +243,32 @@ func (config *DirectClientConfig) ClientConfig() (*restclient.Config, error) {
}
mergo.Merge(clientConfig, userAuthPartialConfig, mergo.WithOverride)

serverAuthPartialConfig, err := getServerIdentificationPartialConfig(configAuthInfo, configClusterInfo)
if err != nil {
return nil, err
}
serverAuthPartialConfig := getServerIdentificationPartialConfig(configClusterInfo)
mergo.Merge(clientConfig, serverAuthPartialConfig, mergo.WithOverride)
}

return clientConfig, nil
}

// clientauth.Info object contain both user identification and server identification. We want different precedence orders for
// both, so we have to split the objects and merge them separately
// we want this order of precedence for the server identification
// 1. configClusterInfo (the final result of command line flags and merged .kubeconfig files)
// 2. configAuthInfo.auth-path (this file can contain information that conflicts with #1, and we want #1 to win the priority)
// 3. load the ~/.kubernetes_auth file as a default
func getServerIdentificationPartialConfig(configAuthInfo clientcmdapi.AuthInfo, configClusterInfo clientcmdapi.Cluster) (*restclient.Config, error) {
mergedConfig := &restclient.Config{}

// configClusterInfo holds the information identify the server provided by .kubeconfig
// both, so we have to split the objects and merge them separately.
// configClusterInfo (the final result of command line flags and merged .kubeconfig files) is now the only source of
// service identification.
func getServerIdentificationPartialConfig(configClusterInfo clientcmdapi.Cluster) *restclient.Config {
configClientConfig := &restclient.Config{}
configClientConfig.CAFile = configClusterInfo.CertificateAuthority
configClientConfig.CAData = configClusterInfo.CertificateAuthorityData
configClientConfig.Insecure = configClusterInfo.InsecureSkipTLSVerify
configClientConfig.ServerName = configClusterInfo.TLSServerName
mergo.Merge(mergedConfig, configClientConfig, mergo.WithOverride)

return mergedConfig, nil
return configClientConfig
}

// clientauth.Info object contain both user identification and server identification. We want different precedence orders for
// both, so we have to split the objects and merge them separately
// we want this order of precedence for user identification
// 1. configAuthInfo minus auth-path (the final result of command line flags and merged .kubeconfig files)
// 2. configAuthInfo.auth-path (this file can contain information that conflicts with #1, and we want #1 to win the priority)
// 3. if there is not enough information to identify the user, load try the ~/.kubernetes_auth file
// 4. if there is not enough information to identify the user, prompt if possible
// both, so we have to split the objects and merge them separately.
// We want this order of precedence for user identification:
// 1. configAuthInfo (the final result of command line flags and merged .kubeconfig files)
// 2. if there is not enough information to identify the user, prompt if possible
func (config *DirectClientConfig) getUserIdentificationPartialConfig(configAuthInfo clientcmdapi.AuthInfo, fallbackReader io.Reader, persistAuthConfig restclient.AuthProviderConfigPersister, configClusterInfo clientcmdapi.Cluster) (*restclient.Config, error) {
mergedConfig := &restclient.Config{}

Expand Down

0 comments on commit a690885

Please sign in to comment.