From 6b85374857238bfff01bb74408da2079c8322d11 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 18 Jan 2024 01:08:02 -0500 Subject: [PATCH] feat: implement scheduler-k3s:show-config --- plugins/scheduler-k3s/Makefile | 2 +- .../scheduler-k3s/src/subcommands/subcommands.go | 4 ++++ plugins/scheduler-k3s/subcommands.go | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/plugins/scheduler-k3s/Makefile b/plugins/scheduler-k3s/Makefile index 8609e8ee3..fe33daf90 100644 --- a/plugins/scheduler-k3s/Makefile +++ b/plugins/scheduler-k3s/Makefile @@ -1,4 +1,4 @@ -SUBCOMMANDS = subcommands/initialize subcommands/report subcommands/set +SUBCOMMANDS = subcommands/initialize subcommands/report subcommands/set subcommands/show-kubeconfig TRIGGERS = triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-delete triggers/post-registry-login triggers/report triggers/scheduler-deploy triggers/scheduler-enter triggers/scheduler-logs triggers/scheduler-stop BUILD = commands subcommands triggers PLUGIN_NAME = scheduler-k3s diff --git a/plugins/scheduler-k3s/src/subcommands/subcommands.go b/plugins/scheduler-k3s/src/subcommands/subcommands.go index bc6bd03ab..7915d1fe7 100644 --- a/plugins/scheduler-k3s/src/subcommands/subcommands.go +++ b/plugins/scheduler-k3s/src/subcommands/subcommands.go @@ -44,6 +44,10 @@ func main() { value = args.Arg(1) } err = scheduler_k3s.CommandSet(appName, property, value) + case "show-kubeconfig": + args := flag.NewFlagSet("scheduler-k3s:show-kubeconfig", flag.ExitOnError) + args.Parse(os.Args[2:]) + err = scheduler_k3s.CommandShowKubeconfig() default: err = fmt.Errorf("Invalid plugin subcommand call: %s", subcommand) } diff --git a/plugins/scheduler-k3s/subcommands.go b/plugins/scheduler-k3s/subcommands.go index ed28374a3..e149d6a87 100644 --- a/plugins/scheduler-k3s/subcommands.go +++ b/plugins/scheduler-k3s/subcommands.go @@ -116,3 +116,19 @@ func CommandSet(appName string, property string, value string) error { common.CommandPropertySet("scheduler-k3s", appName, property, value, DefaultProperties, GlobalProperties) return nil } + +// CommandShowKubeconfig displays the kubeconfig file contents +func CommandShowKubeconfig() error { + if !common.FileExists(KubeConfigPath) { + return fmt.Errorf("Kubeconfig file does not exist: %s", KubeConfigPath) + } + + b, err := os.ReadFile(KubeConfigPath) + if err != nil { + return fmt.Errorf("Unable to read kubeconfig file: %w", err) + } + + fmt.Println(string(b)) + + return nil +}