From 21620165e3c2726fd563c8155d6f3b04290bdb60 Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Wed, 14 Aug 2024 13:57:41 +0000 Subject: [PATCH] status writers are supposed to be constrained to modifying the status stanza --- pkg/registry/networking/servicecidr/strategy.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/registry/networking/servicecidr/strategy.go b/pkg/registry/networking/servicecidr/strategy.go index 210f56f4355..83095ca0af2 100644 --- a/pkg/registry/networking/servicecidr/strategy.go +++ b/pkg/registry/networking/servicecidr/strategy.go @@ -19,6 +19,7 @@ package servicecidr import ( "context" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apiserver/pkg/registry/rest" @@ -144,6 +145,7 @@ func (serviceCIDRStatusStrategy) PrepareForUpdate(ctx context.Context, obj, old oldServiceCIDR := old.(*networking.ServiceCIDR) // status changes are not allowed to update spec newServiceCIDR.Spec = oldServiceCIDR.Spec + metav1.ResetObjectMetaForStatus(&newServiceCIDR.ObjectMeta, &oldServiceCIDR.ObjectMeta) } // ValidateUpdate is the default update validation for an end user updating status