Skip to content

Commit 9ef7276

Browse files
Use InClusterConfig in the error block
Signed-off-by: AbdullahAlShaad <[email protected]>
1 parent 7dc2e2b commit 9ef7276

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

cmd/clusterctl/client/cluster/proxy.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"k8s.io/client-go/kubernetes"
3535
"k8s.io/client-go/rest"
3636
"k8s.io/client-go/tools/clientcmd"
37-
ctrl "sigs.k8s.io/controller-runtime"
3837
"sigs.k8s.io/controller-runtime/pkg/client"
3938

4039
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
@@ -132,7 +131,25 @@ func (k *proxy) ValidateKubernetesVersion() error {
132131

133132
// GetConfig returns the config for a kubernetes client.
134133
func (k *proxy) GetConfig() (*rest.Config, error) {
135-
restConfig := ctrl.GetConfigOrDie()
134+
config, err := k.configLoadingRules.Load()
135+
if err != nil {
136+
return nil, errors.Wrap(err, "failed to load Kubeconfig")
137+
}
138+
139+
configOverrides := &clientcmd.ConfigOverrides{
140+
CurrentContext: k.kubeconfig.Context,
141+
Timeout: k.timeout.String(),
142+
}
143+
restConfig, err := clientcmd.NewDefaultClientConfig(*config, configOverrides).ClientConfig()
144+
if err != nil {
145+
if !strings.HasPrefix(err.Error(), "invalid configuration:") {
146+
return nil, err
147+
}
148+
restConfig, err = rest.InClusterConfig()
149+
if err != nil {
150+
return nil, err
151+
}
152+
}
136153
restConfig.UserAgent = fmt.Sprintf("clusterctl/%s (%s)", version.Get().GitVersion, version.Get().Platform)
137154

138155
// Set QPS and Burst to a threshold that ensures the controller runtime client/client go doesn't generate throttling log messages

0 commit comments

Comments
 (0)