From 12edb6d4052c1e196e0ac972188677e712f1399c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charles-Edouard=20Br=C3=A9t=C3=A9ch=C3=A9?= <charles.edouard@nirmata.com> Date: Tue, 10 Sep 2024 15:56:00 +0200 Subject: [PATCH] feat: use pointer in rule (generate field) (#11076) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> --- api/kyverno/v2beta1/rule_types.go | 4 ++-- api/kyverno/v2beta1/zz_generated.deepcopy.go | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/api/kyverno/v2beta1/rule_types.go b/api/kyverno/v2beta1/rule_types.go index 986d3835b8..0d6ffe1bf6 100644 --- a/api/kyverno/v2beta1/rule_types.go +++ b/api/kyverno/v2beta1/rule_types.go @@ -60,7 +60,7 @@ type Rule struct { // Generation is used to create new resources. // +optional - Generation kyvernov1.Generation `json:"generate,omitempty"` + Generation *kyvernov1.Generation `json:"generate,omitempty"` // VerifyImages is used to verify image signatures and mutate them to add a digest // +optional @@ -134,7 +134,7 @@ func (r *Rule) HasValidate() bool { // HasGenerate checks for generate rule func (r *Rule) HasGenerate() bool { - return !datautils.DeepEqual(r.Generation, kyvernov1.Generation{}) + return r.Generation != nil && !datautils.DeepEqual(*r.Generation, kyvernov1.Generation{}) } // ValidateRuleType checks only one type of rule is defined per rule diff --git a/api/kyverno/v2beta1/zz_generated.deepcopy.go b/api/kyverno/v2beta1/zz_generated.deepcopy.go index 67d9d7c124..9e742810ca 100755 --- a/api/kyverno/v2beta1/zz_generated.deepcopy.go +++ b/api/kyverno/v2beta1/zz_generated.deepcopy.go @@ -744,7 +744,11 @@ func (in *Rule) DeepCopyInto(out *Rule) { } in.Mutation.DeepCopyInto(&out.Mutation) in.Validation.DeepCopyInto(&out.Validation) - in.Generation.DeepCopyInto(&out.Generation) + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(v1.Generation) + (*in).DeepCopyInto(*out) + } if in.VerifyImages != nil { in, out := &in.VerifyImages, &out.VerifyImages *out = make([]ImageVerification, len(*in))