Skip to content

Commit f40f910

Browse files
authored
Allow running locally based on KUBECONFIG (#720)
Signed-off-by: Mikkel Oscar Lyderik Larsen <[email protected]>
1 parent 55467ba commit f40f910

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

cmd/stackset-controller/main.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/zalando-incubator/stackset-controller/pkg/traffic"
2020
corev1 "k8s.io/api/core/v1"
2121
"k8s.io/client-go/rest"
22+
"k8s.io/client-go/tools/clientcmd"
2223
"k8s.io/client-go/transport"
2324
)
2425

@@ -170,7 +171,16 @@ func configureKubeConfig(apiServerURL *url.URL, timeout time.Duration, stopCh <-
170171
}, nil
171172
}
172173

174+
// Try in-cluster config
173175
config, err := rest.InClusterConfig()
176+
if err == rest.ErrNotInCluster {
177+
// fall back to kubeconfig
178+
kubeconfig := os.Getenv("KUBECONFIG")
179+
if kubeconfig == "" {
180+
kubeconfig = os.ExpandEnv("${HOME}/.kube/config")
181+
}
182+
return clientcmd.BuildConfigFromFlags("", kubeconfig)
183+
}
174184
if err != nil {
175185
return nil, err
176186
}

0 commit comments

Comments
 (0)