@@ -121,20 +121,19 @@ func loadConfig(context string) (*rest.Config, error) {
121
121
// is no in-cluster config, try the default recommended locations.
122
122
//
123
123
// NOTE: For default config file locations, upstream only checks
124
- // $HOME for the user's home directory, but we can also use
124
+ // $HOME for the user's home directory, but we can also try
125
125
// os/user.HomeDir when $HOME is unset.
126
126
//
127
127
// TODO(jlanford): could this be done upstream?
128
+ loadingRules := clientcmd .NewDefaultClientConfigLoadingRules ()
128
129
if _ , ok := os .LookupEnv ("HOME" ); ! ok {
129
130
u , err := user .Current ()
130
131
if err != nil {
131
132
return nil , fmt .Errorf ("could not get current user: %v" , err )
132
133
}
133
- oldRecommendedHomeFile := clientcmd .RecommendedHomeFile
134
- clientcmd .RecommendedHomeFile = path .Join (u .HomeDir , clientcmd .RecommendedHomeDir , clientcmd .RecommendedFileName )
135
- defer func () { clientcmd .RecommendedHomeFile = oldRecommendedHomeFile }()
134
+ loadingRules .Precedence = append (loadingRules .Precedence , path .Join (u .HomeDir , clientcmd .RecommendedHomeDir , clientcmd .RecommendedFileName ))
136
135
}
137
- if c , err := loadConfigWithContext (apiServerURL , clientcmd . NewDefaultClientConfigLoadingRules () , context ); err == nil {
136
+ if c , err := loadConfigWithContext (apiServerURL , loadingRules , context ); err == nil {
138
137
return c , nil
139
138
}
140
139
0 commit comments