From 6a497dea3b3da8c3bbbb5626b54bd3701dff54a8 Mon Sep 17 00:00:00 2001 From: Steve Kuznetsov Date: Tue, 7 Oct 2025 08:38:05 -0600 Subject: [PATCH] pkg/kube: remove managed fields before SSA Server-side apply patches cannot contain managed field data; we must zero-out this field before sending the patch. Signed-off-by: Steve Kuznetsov --- pkg/kube/client.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/kube/client.go b/pkg/kube/client.go index 97a858ea3..d996f260d 100644 --- a/pkg/kube/client.go +++ b/pkg/kube/client.go @@ -1092,6 +1092,13 @@ func patchResourceServerSide(target *resource.Info, dryRun bool, forceConflicts WithFieldManager(getManagedFieldsManager()). WithFieldValidation(string(fieldValidationDirective)) + // Zero-out managed fields, if any are present on our object, as patch does not allow these to be set + metaAccessor, err := meta.Accessor(target.Object) + if err != nil { + return fmt.Errorf("failed to get object metadata: %w", err) + } + metaAccessor.SetManagedFields(nil) + // Send the full object to be applied on the server side. data, err := runtime.Encode(unstructured.UnstructuredJSONScheme, target.Object) if err != nil {