From 699653d00b59d0457f02c1d4ad0c4cd1f6f7bb7e Mon Sep 17 00:00:00 2001 From: Ole Markus With Date: Thu, 16 Jun 2022 21:37:40 +0200 Subject: [PATCH] Replace manifests after apply --- channels/pkg/channels/apply.go | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/channels/pkg/channels/apply.go b/channels/pkg/channels/apply.go index af21aabe55..85bf63dc42 100644 --- a/channels/pkg/channels/apply.go +++ b/channels/pkg/channels/apply.go @@ -45,9 +45,28 @@ func Apply(data []byte) error { if err := os.WriteFile(localManifestFile, data, 0o600); err != nil { return fmt.Errorf("error writing temp file: %v", err) } + { + _, err := execKubectl("apply", "-f", localManifestFile, "--server-side", "--force-conflicts", "--field-manager=kops") + if err != nil { + klog.Errorf("failed to apply the manifest: %v", err) + } + } + { + _, err := execKubectl("replace", "-f", localManifestFile, "--field-manager=kops") + if err != nil { + return fmt.Errorf("failed to replace manifest: %w", err) + } + } - _, err = execKubectl("apply", "-f", localManifestFile, "--server-side", "--force-conflicts", "--field-manager=kops") - return err + // Remove this one. Just to show that apply works properly after replace + { + _, err := execKubectl("apply", "-f", localManifestFile, "--server-side", "--force-conflicts", "--field-manager=kops") + if err != nil { + return fmt.Errorf("failed to apply the manifest: %w", err) + } + } + + return nil } func execKubectl(args ...string) (string, error) {