From 9869a9a1f500dbb23853314f9884863b60fcaa4d Mon Sep 17 00:00:00 2001 From: Benjamin Yolken Date: Thu, 18 Feb 2021 15:48:52 -0800 Subject: [PATCH] Strip out kubectl warnings --- pkg/cluster/kube_client.go | 8 ++++++++ pkg/version/version.go | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/cluster/kube_client.go b/pkg/cluster/kube_client.go index 9de0130..9e3722b 100644 --- a/pkg/cluster/kube_client.go +++ b/pkg/cluster/kube_client.go @@ -1,6 +1,7 @@ package cluster import ( + "bytes" "context" "encoding/json" "fmt" @@ -238,6 +239,13 @@ func (cc *KubeClusterClient) DiffStructured( ) } + // Strip everything before the initial "{"; kubectl can insert arbitrary warnings, etc. + // that can cause the result to not be valid JSON. + jsonStart := bytes.Index(rawResults, []byte("{")) + if jsonStart > 0 { + rawResults = rawResults[jsonStart:] + } + results := diff.Results{} if err := json.Unmarshal(rawResults, &results); err != nil { return nil, err diff --git a/pkg/version/version.go b/pkg/version/version.go index 273ef28..ea85fdf 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -1,4 +1,4 @@ package version // Version stores the current kubeapply version. -const Version = "0.0.26" +const Version = "0.0.27"