From c786ec3dcb9dde7abcc5b2489653f36b52846d35 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Thu, 3 Aug 2023 18:48:29 +0800 Subject: [PATCH] feat(climc): k8s-cluster-set-kubeconfig --- cmd/climc/shell/k8s/clusters.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cmd/climc/shell/k8s/clusters.go b/cmd/climc/shell/k8s/clusters.go index 5f73415b9e..1dc82c5de7 100644 --- a/cmd/climc/shell/k8s/clusters.go +++ b/cmd/climc/shell/k8s/clusters.go @@ -87,6 +87,26 @@ func initKubeCluster() { return nil }) + type SetKubeconfigOptions struct { + o.IdentOptions + FILE string `json:"filepath of kubeconfig"` + } + R(new(SetKubeconfigOptions), cmdN("set-kubeconfig"), "Set kubeconfig of a cluster", func(s *mcclient.ClientSession, args *SetKubeconfigOptions) error { + content, err := ioutil.ReadFile(args.FILE) + if err != nil { + return errors.Wrapf(err, "read file content of %q", args.FILE) + } + input := map[string]string{ + "kubeconfig": string(content), + } + ret, err := k8s.KubeClusters.PerformAction(s, args.ID, "set-kubeconfig", jsonutils.Marshal(input)) + if err != nil { + return err + } + printObject(ret) + return nil + }) + R(&o.ClusterGetAddonsOpt{}, cmdN("addons"), "Get addon manifest of a cluster", func(s *mcclient.ClientSession, args *o.ClusterGetAddonsOpt) error { params, err := args.Params() if err != nil {