From fdafc79e16bdf319b80002facae6ec13a5118509 Mon Sep 17 00:00:00 2001 From: Hironori Yamamoto Date: Tue, 16 Jul 2024 23:39:16 +0900 Subject: [PATCH] feat: consider KUBECONFIG environment as a default kubeconfig --- main.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index f624385..3a7ce08 100644 --- a/main.go +++ b/main.go @@ -38,8 +38,17 @@ func main() { func run() int { var kubeconfig *string - if home := homedir.HomeDir(); home != "" { - kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file") + // default kubeconfig path is loaded in the following priority: + // 1. load environment variable KUBECONFIG exists + // 2. load $HOME/.kube/config + var defaultKubeConfig string + if env := os.Getenv("KUBECONFIG"); env != "" { + defaultKubeConfig = env + } else if home := homedir.HomeDir(); home != "" { + defaultKubeConfig = filepath.Join(home, ".kube", "config") + } + if defaultKubeConfig != "" { + kubeconfig = flag.String("kubeconfig", defaultKubeConfig, "(optional) absolute path to the kubeconfig file") } else { kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") }