diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/client_config.go b/staging/src/k8s.io/client-go/tools/clientcmd/client_config.go index a47e701c1fe..cd0a8649b18 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/client_config.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/client_config.go @@ -508,7 +508,7 @@ func (config *DirectClientConfig) getContext() (clientcmdapi.Context, error) { return clientcmdapi.Context{}, fmt.Errorf("context %q does not exist", contextName) } if config.overrides != nil { - if err := merge(mergedContext, config.overrides.Context); err != nil { + if err := merge(mergedContext, &config.overrides.Context); err != nil { return clientcmdapi.Context{}, err } } @@ -530,7 +530,7 @@ func (config *DirectClientConfig) getAuthInfo() (clientcmdapi.AuthInfo, error) { return clientcmdapi.AuthInfo{}, fmt.Errorf("auth info %q does not exist", authInfoName) } if config.overrides != nil { - if err := merge(mergedAuthInfo, config.overrides.AuthInfo); err != nil { + if err := merge(mergedAuthInfo, &config.overrides.AuthInfo); err != nil { return clientcmdapi.AuthInfo{}, err } } @@ -545,7 +545,7 @@ func (config *DirectClientConfig) getCluster() (clientcmdapi.Cluster, error) { mergedClusterInfo := clientcmdapi.NewCluster() if config.overrides != nil { - if err := merge(mergedClusterInfo, config.overrides.ClusterDefaults); err != nil { + if err := merge(mergedClusterInfo, &config.overrides.ClusterDefaults); err != nil { return clientcmdapi.Cluster{}, err } } @@ -557,7 +557,7 @@ func (config *DirectClientConfig) getCluster() (clientcmdapi.Cluster, error) { return clientcmdapi.Cluster{}, fmt.Errorf("cluster %q does not exist", clusterInfoName) } if config.overrides != nil { - if err := merge(mergedClusterInfo, config.overrides.ClusterInfo); err != nil { + if err := merge(mergedClusterInfo, &config.overrides.ClusterInfo); err != nil { return clientcmdapi.Cluster{}, err } } diff --git a/staging/src/k8s.io/client-go/tools/clientcmd/merge.go b/staging/src/k8s.io/client-go/tools/clientcmd/merge.go index 9fdf6e3a025..61590faa1f3 100644 --- a/staging/src/k8s.io/client-go/tools/clientcmd/merge.go +++ b/staging/src/k8s.io/client-go/tools/clientcmd/merge.go @@ -24,6 +24,6 @@ import ( // - non-pointer struct fields are recursively merged // - maps are shallow merged with src keys taking priority over dst // - non-zero src fields encountered during recursion that are not maps or structs overwrite and recursion stops -func merge(dst, src any) error { +func merge[T any](dst, src *T) error { return mergo.Merge(dst, src, mergo.WithOverride) }