From 90f5a449112586f464ad94280a0ff6422df424ad Mon Sep 17 00:00:00 2001 From: rick Date: Thu, 10 Jun 2021 21:01:38 +0800 Subject: [PATCH] Make ks-apiserver be easier to run locally with kube config Signed-off-by: rick --- pkg/simple/client/k8s/options.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkg/simple/client/k8s/options.go b/pkg/simple/client/k8s/options.go index c72699f82..642e5284d 100644 --- a/pkg/simple/client/k8s/options.go +++ b/pkg/simple/client/k8s/options.go @@ -18,6 +18,9 @@ package k8s import ( "os" + "path" + + "k8s.io/client-go/util/homedir" "github.com/spf13/pflag" @@ -44,12 +47,18 @@ type KubernetesOptions struct { } // NewKubernetesOptions returns a `zero` instance -func NewKubernetesOptions() *KubernetesOptions { - return &KubernetesOptions{ - KubeConfig: "", - QPS: 1e6, - Burst: 1e6, +func NewKubernetesOptions() (option *KubernetesOptions) { + option = &KubernetesOptions{ + QPS: 1e6, + Burst: 1e6, } + + // make it be easier for those who wants to run api-server locally + userHomeConfig := path.Join(homedir.HomeDir(), ".kube/config") + if _, err := os.Stat(userHomeConfig); !os.IsNotExist(err) { + option.KubeConfig = userHomeConfig + } + return } func (k *KubernetesOptions) Validate() []error {