From 6aff3fe8597b49e6228820b3e3f18f5e98474957 Mon Sep 17 00:00:00 2001 From: Van Thong Nguyen Date: Tue, 16 Jul 2024 22:21:59 +0200 Subject: [PATCH] fix invalid kubeconfig when \\n is present in kubeconfigStr replace "\\n" with "\n" in kubeconfig string --- cmd/kubernetes.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/kubernetes.go b/cmd/kubernetes.go index 1eb442b3..379e9ef6 100644 --- a/cmd/kubernetes.go +++ b/cmd/kubernetes.go @@ -9,6 +9,7 @@ import ( "os" "path/filepath" "sort" + "strings" "time" "github.com/gridscale/gscloud/render" @@ -298,7 +299,10 @@ func fetchKubeConfigFromProvider(op runtime.KubernetesOperator, id string) (kube } if len(platformService.Properties.Credentials) != 0 { - err := yaml.Unmarshal([]byte(platformService.Properties.Credentials[0].KubeConfig), &kc) + kubeconfigStr := platformService.Properties.Credentials[0].KubeConfig + // replace "\\n" with "\n" in kubeconfig (if present) + kubeconfigStr = strings.ReplaceAll(kubeconfigStr, "\\n", "\n") + err := yaml.Unmarshal([]byte(kubeconfigStr), &kc) if err != nil { return kubeConfig{}, time.Time{}, err }