Make inClusterConfigProvider thread safe

If configuration object is used concurrently
it is not safe to mutate self.
There is no need for mutation so avoid it
just in case.
This commit is contained in:
Mikhail Mazurskiy 2020-06-15 21:17:45 +10:00
parent 243a9b204e
commit 9e360eb05e
No known key found for this signature in database
GPG Key ID: FA7917C48932DD55

View File

@ -548,11 +548,12 @@ func (config *inClusterClientConfig) RawConfig() (clientcmdapi.Config, error) {
}
func (config *inClusterClientConfig) ClientConfig() (*restclient.Config, error) {
if config.inClusterConfigProvider == nil {
config.inClusterConfigProvider = restclient.InClusterConfig
inClusterConfigProvider := config.inClusterConfigProvider
if inClusterConfigProvider == nil {
inClusterConfigProvider = restclient.InClusterConfig
}
icc, err := config.inClusterConfigProvider()
icc, err := inClusterConfigProvider()
if err != nil {
return nil, err
}
@ -572,7 +573,7 @@ func (config *inClusterClientConfig) ClientConfig() (*restclient.Config, error)
}
}
return icc, err
return icc, nil
}
func (config *inClusterClientConfig) Namespace() (string, bool, error) {