diff --git a/cmd/cli/kubectl-kyverno/commands/apply/command.go b/cmd/cli/kubectl-kyverno/commands/apply/command.go index 58e62772b4..36377559da 100644 --- a/cmd/cli/kubectl-kyverno/commands/apply/command.go +++ b/cmd/cli/kubectl-kyverno/commands/apply/command.go @@ -25,7 +25,7 @@ import ( "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/userinfo" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/utils/common" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/variables" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/config" engineapi "github.com/kyverno/kyverno/pkg/engine/api" @@ -213,7 +213,7 @@ func (c *ApplyCommandConfig) applyCommandHelper(out io.Writer) (*processor.Resul if !c.Stdin && !c.PolicyReport && !c.GenerateExceptions { var policyRulesCount int for _, policy := range policies { - policyRulesCount += len(autogen.ComputeRules(policy, "")) + policyRulesCount += len(autogenv1.ComputeRules(policy, "")) } policyRulesCount += len(vaps) if len(exceptions) > 0 { diff --git a/cmd/cli/kubectl-kyverno/commands/test/test.go b/cmd/cli/kubectl-kyverno/commands/test/test.go index 4b0e276cf0..edff009aa9 100644 --- a/cmd/cli/kubectl-kyverno/commands/test/test.go +++ b/cmd/cli/kubectl-kyverno/commands/test/test.go @@ -19,7 +19,7 @@ import ( "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/utils/common" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/variables" "github.com/kyverno/kyverno/ext/output/pluralize" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/background/generate" "github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/config" @@ -109,7 +109,7 @@ func runTest(out io.Writer, testCase test.TestCase, registryAccess bool) ([]engi // TODO document the code below ruleToCloneSourceResource := map[string]string{} for _, policy := range results.Policies { - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, res := range testCase.Test.Results { if res.IsValidatingAdmissionPolicy { continue diff --git a/cmd/cli/kubectl-kyverno/processor/generate.go b/cmd/cli/kubectl-kyverno/processor/generate.go index c2ac60a6b2..5d22b2c654 100644 --- a/cmd/cli/kubectl-kyverno/processor/generate.go +++ b/cmd/cli/kubectl-kyverno/processor/generate.go @@ -9,7 +9,7 @@ import ( "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/log" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/resource" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/store" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/background/generate" "github.com/kyverno/kyverno/pkg/clients/dclient" "github.com/kyverno/kyverno/pkg/config" @@ -47,7 +47,7 @@ func handleGeneratePolicy(out io.Writer, store *store.Store, generateResponse *e listKinds := map[schema.GroupVersionResource]string{} // Collect items in a potential cloneList to provide list kinds to the fake dynamic client. - for _, rule := range autogen.ComputeRules(policyContext.Policy(), "") { + for _, rule := range autogenv1.ComputeRules(policyContext.Policy(), "") { if !rule.HasGenerate() || len(rule.Generation.CloneList.Kinds) == 0 { continue } diff --git a/cmd/cli/kubectl-kyverno/processor/result.go b/cmd/cli/kubectl-kyverno/processor/result.go index 32d2561bca..fa5f5f511f 100644 --- a/cmd/cli/kubectl-kyverno/processor/result.go +++ b/cmd/cli/kubectl-kyverno/processor/result.go @@ -2,7 +2,7 @@ package processor import ( "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/policy/annotations" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" engineapi "github.com/kyverno/kyverno/pkg/engine/api" ) @@ -32,7 +32,7 @@ func (rc *ResultCounts) addEngineResponse(auditWarn bool, response engineapi.Eng } policy := genericPolicy.AsKyvernoPolicy() scored := annotations.Scored(policy.GetAnnotations()) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { if rule.HasValidate() || rule.HasVerifyImageChecks() || rule.HasVerifyImages() { for _, valResponseRule := range response.PolicyResponse.Rules { if rule.Name == valResponseRule.Name() { @@ -69,7 +69,7 @@ func (rc *ResultCounts) addGenerateResponse(response engineapi.EngineResponse) { return } policy := genericPolicy.AsKyvernoPolicy() - for _, policyRule := range autogen.ComputeRules(policy, "") { + for _, policyRule := range autogenv1.ComputeRules(policy, "") { for _, ruleResponse := range response.PolicyResponse.Rules { if policyRule.Name == ruleResponse.Name() { if ruleResponse.Status() == engineapi.RuleStatusPass { @@ -90,7 +90,7 @@ func (rc *ResultCounts) addMutateResponse(response engineapi.EngineResponse) boo } policy := genericPolicy.AsKyvernoPolicy() var policyHasMutate bool - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { if rule.HasMutate() { policyHasMutate = true } @@ -99,7 +99,7 @@ func (rc *ResultCounts) addMutateResponse(response engineapi.EngineResponse) boo return false } printMutatedRes := false - for _, policyRule := range autogen.ComputeRules(policy, "") { + for _, policyRule := range autogenv1.ComputeRules(policy, "") { for _, mutateResponseRule := range response.PolicyResponse.Rules { if policyRule.Name == mutateResponseRule.Name() { if mutateResponseRule.Status() == engineapi.RuleStatusPass { diff --git a/cmd/cli/kubectl-kyverno/utils/common/common.go b/cmd/cli/kubectl-kyverno/utils/common/common.go index 03436be721..b4f1068341 100644 --- a/cmd/cli/kubectl-kyverno/utils/common/common.go +++ b/cmd/cli/kubectl-kyverno/utils/common/common.go @@ -13,7 +13,7 @@ import ( "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/apis/v1alpha1" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/resource" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/source" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/clients/dclient" kubeutils "github.com/kyverno/kyverno/pkg/utils/kube" admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1" @@ -89,7 +89,7 @@ func GetResourceAccordingToResourcePath( func GetKindsFromPolicy(out io.Writer, policy kyvernov1.PolicyInterface, subresources []v1alpha1.Subresource, dClient dclient.Interface) sets.Set[string] { knownkinds := sets.New[string]() - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.ResourceDescription.Kinds { k, err := getKind(kind, subresources, dClient) if err != nil { diff --git a/cmd/cli/kubectl-kyverno/utils/common/fetch.go b/cmd/cli/kubectl-kyverno/utils/common/fetch.go index e284251375..034cae02de 100644 --- a/cmd/cli/kubectl-kyverno/utils/common/fetch.go +++ b/cmd/cli/kubectl-kyverno/utils/common/fetch.go @@ -12,7 +12,7 @@ import ( "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/apis/v1alpha1" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/log" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/resource" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/clients/dclient" kubeutils "github.com/kyverno/kyverno/pkg/utils/kube" "github.com/kyverno/kyverno/pkg/validatingadmissionpolicy" @@ -130,7 +130,7 @@ func GetResourcesWithTest(out io.Writer, fs billy.Filesystem, policies []kyverno resources := make([]*unstructured.Unstructured, 0) resourceTypesMap := make(map[string]bool) for _, policy := range policies { - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { resourceTypesMap[kind] = true } diff --git a/cmd/cli/kubectl-kyverno/utils/common/kyverno_resources_types.go b/cmd/cli/kubectl-kyverno/utils/common/kyverno_resources_types.go index a5884ffb83..8f8b00dd6f 100644 --- a/cmd/cli/kubectl-kyverno/utils/common/kyverno_resources_types.go +++ b/cmd/cli/kubectl-kyverno/utils/common/kyverno_resources_types.go @@ -5,7 +5,7 @@ import ( kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" "github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/apis/v1alpha1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/clients/dclient" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" @@ -23,7 +23,7 @@ func (r *KyvernoResources) FetchResourcesFromPolicy(out io.Writer, resourcePaths var subresourceMap map[schema.GroupVersionKind]v1alpha1.Subresource for _, policy := range r.policies { - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { var resourceTypesInRule map[schema.GroupVersionKind]bool resourceTypesInRule, subresourceMap = GetKindsFromRule(rule, dClient) for resourceKind := range resourceTypesInRule { diff --git a/pkg/autogen/autogen.go b/pkg/autogen/v1/autogen.go similarity index 99% rename from pkg/autogen/autogen.go rename to pkg/autogen/v1/autogen.go index 1a23a48913..da010f3f2d 100644 --- a/pkg/autogen/autogen.go +++ b/pkg/autogen/v1/autogen.go @@ -1,4 +1,4 @@ -package autogen +package v1 import ( "encoding/json" diff --git a/pkg/autogen/autogen_test.go b/pkg/autogen/v1/autogen_test.go similarity index 99% rename from pkg/autogen/autogen_test.go rename to pkg/autogen/v1/autogen_test.go index 922a9abfeb..55dc3b5830 100644 --- a/pkg/autogen/autogen_test.go +++ b/pkg/autogen/v1/autogen_test.go @@ -1,4 +1,4 @@ -package autogen +package v1 import ( "encoding/json" diff --git a/pkg/autogen/log.go b/pkg/autogen/v1/log.go similarity index 59% rename from pkg/autogen/log.go rename to pkg/autogen/v1/log.go index 97a2b11a71..730de4001f 100644 --- a/pkg/autogen/log.go +++ b/pkg/autogen/v1/log.go @@ -1,8 +1,8 @@ -package autogen +package v1 import "github.com/kyverno/kyverno/pkg/logging" var ( - logger = logging.WithName("autogen") + logger = logging.WithName("autogen-v1") debug = logger.V(5) ) diff --git a/pkg/autogen/rule.go b/pkg/autogen/v1/rule.go similarity index 99% rename from pkg/autogen/rule.go rename to pkg/autogen/v1/rule.go index 1f4454ab8c..9799821a5a 100644 --- a/pkg/autogen/rule.go +++ b/pkg/autogen/v1/rule.go @@ -1,4 +1,4 @@ -package autogen +package v1 import ( "bytes" diff --git a/pkg/autogenv2/autogen.go b/pkg/autogen/v2/autogen.go similarity index 99% rename from pkg/autogenv2/autogen.go rename to pkg/autogen/v2/autogen.go index 5ef99ccaa8..19b033943e 100644 --- a/pkg/autogenv2/autogen.go +++ b/pkg/autogen/v2/autogen.go @@ -1,4 +1,4 @@ -package autogenv2 +package v2 import ( "fmt" diff --git a/pkg/autogenv2/autogen_test.go b/pkg/autogen/v2/autogen_test.go similarity index 99% rename from pkg/autogenv2/autogen_test.go rename to pkg/autogen/v2/autogen_test.go index 4d06059839..e5c0510939 100644 --- a/pkg/autogenv2/autogen_test.go +++ b/pkg/autogen/v2/autogen_test.go @@ -1,4 +1,4 @@ -package autogenv2 +package v2 import ( "encoding/json" diff --git a/pkg/autogenv2/log.go b/pkg/autogen/v2/log.go similarity index 87% rename from pkg/autogenv2/log.go rename to pkg/autogen/v2/log.go index fd7fd1e3cb..b4fac86dd6 100644 --- a/pkg/autogenv2/log.go +++ b/pkg/autogen/v2/log.go @@ -1,4 +1,4 @@ -package autogenv2 +package v2 import "github.com/kyverno/kyverno/pkg/logging" diff --git a/pkg/controllers/exceptions/controller.go b/pkg/controllers/exceptions/controller.go index 1c73969690..8ea887c289 100644 --- a/pkg/controllers/exceptions/controller.go +++ b/pkg/controllers/exceptions/controller.go @@ -10,7 +10,7 @@ import ( "github.com/go-logr/logr" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov2 "github.com/kyverno/kyverno/api/kyverno/v2" - "github.com/kyverno/kyverno/pkg/autogenv2" + autogenv2 "github.com/kyverno/kyverno/pkg/autogen/v2" kyvernov1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v1" kyvernov2informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v2" kyvernov1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1" diff --git a/pkg/controllers/metrics/policy/controller.go b/pkg/controllers/metrics/policy/controller.go index 04dae80e74..2b13dba4e3 100644 --- a/pkg/controllers/metrics/policy/controller.go +++ b/pkg/controllers/metrics/policy/controller.go @@ -5,7 +5,7 @@ import ( "sync" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" kyvernov1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v1" kyvernov1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1" "github.com/kyverno/kyverno/pkg/metrics" @@ -111,7 +111,7 @@ func (c *controller) reportPolicy(ctx context.Context, policy kyvernov1.PolicyIn attribute.String("policy_type", string(policyType)), attribute.String("policy_background_mode", string(backgroundMode)), } - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { ruleType := metrics.ParseRuleType(rule) ruleAttributes := []attribute.KeyValue{ attribute.String("rule_name", rule.Name), diff --git a/pkg/controllers/report/aggregate/controller.go b/pkg/controllers/report/aggregate/controller.go index 170533eec6..8895ad59e2 100644 --- a/pkg/controllers/report/aggregate/controller.go +++ b/pkg/controllers/report/aggregate/controller.go @@ -9,7 +9,7 @@ import ( kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" policyreportv1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2" reportsv1 "github.com/kyverno/kyverno/api/reports/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/client/clientset/versioned" kyvernov1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v1" kyvernov1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1" @@ -164,7 +164,7 @@ func (c *controller) createPolicyMap() (map[string]policyMapEntry, error) { policy: cpol, rules: sets.New[string](), } - for _, rule := range autogen.ComputeRules(cpol, "") { + for _, rule := range autogenv1.ComputeRules(cpol, "") { results[key].rules.Insert(rule.Name) } } @@ -181,7 +181,7 @@ func (c *controller) createPolicyMap() (map[string]policyMapEntry, error) { policy: pol, rules: sets.New[string](), } - for _, rule := range autogen.ComputeRules(pol, "") { + for _, rule := range autogenv1.ComputeRules(pol, "") { results[key].rules.Insert(rule.Name) } } diff --git a/pkg/controllers/report/utils/utils.go b/pkg/controllers/report/utils/utils.go index 6e8ba91926..4cdc793b7c 100644 --- a/pkg/controllers/report/utils/utils.go +++ b/pkg/controllers/report/utils/utils.go @@ -5,7 +5,7 @@ import ( kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov2 "github.com/kyverno/kyverno/api/kyverno/v2" reportsv1 "github.com/kyverno/kyverno/api/reports/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" kyvernov1listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v1" kyvernov2listers "github.com/kyverno/kyverno/pkg/client/listers/kyverno/v2" datautils "github.com/kyverno/kyverno/pkg/utils/data" @@ -33,7 +33,7 @@ func CanBackgroundProcess(p kyvernov1.PolicyInterface) bool { func BuildKindSet(logger logr.Logger, policies ...kyvernov1.PolicyInterface) sets.Set[string] { kinds := sets.New[string]() for _, policy := range policies { - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { if rule.HasValidate() || rule.HasVerifyImages() { kinds.Insert(rule.MatchResources.GetKinds()...) } diff --git a/pkg/controllers/webhook/controller.go b/pkg/controllers/webhook/controller.go index 72be65f7a4..cb02c1622f 100644 --- a/pkg/controllers/webhook/controller.go +++ b/pkg/controllers/webhook/controller.go @@ -12,8 +12,8 @@ import ( kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov2alpha1 "github.com/kyverno/kyverno/api/kyverno/v2alpha1" "github.com/kyverno/kyverno/ext/wildcard" - "github.com/kyverno/kyverno/pkg/autogen" - autogenv2 "github.com/kyverno/kyverno/pkg/autogenv2" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" + autogenv2 "github.com/kyverno/kyverno/pkg/autogen/v2" "github.com/kyverno/kyverno/pkg/client/clientset/versioned" kyvernov1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v1" kyvernov2alpha1informers "github.com/kyverno/kyverno/pkg/client/informers/externalversions/kyverno/v2alpha1" @@ -569,7 +569,7 @@ func (c *controller) updatePolicyStatuses(ctx context.Context) error { status := policy.GetStatus() status.SetReady(ready, message) status.Autogen.Rules = nil - rules := autogen.ComputeRules(policy, "") + rules := autogenv1.ComputeRules(policy, "") setRuleCount(rules, status) for _, rule := range rules { if strings.HasPrefix(rule.Name, "autogen-") { diff --git a/pkg/controllers/webhook/utils_test.go b/pkg/controllers/webhook/utils_test.go index a8568403b0..803215760c 100644 --- a/pkg/controllers/webhook/utils_test.go +++ b/pkg/controllers/webhook/utils_test.go @@ -7,7 +7,7 @@ import ( "testing" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "gotest.tools/assert" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" corev1 "k8s.io/api/core/v1" @@ -157,7 +157,7 @@ func Test_RuleCount(t *testing.T) { err := json.Unmarshal([]byte(policy), &cpol) assert.NilError(t, err) status := cpol.GetStatus() - rules := autogen.ComputeRules(&cpol, "") + rules := autogenv1.ComputeRules(&cpol, "") setRuleCount(rules, status) assert.Equal(t, status.RuleCount.Validate, 0) assert.Equal(t, status.RuleCount.Generate, 0) diff --git a/pkg/engine/background.go b/pkg/engine/background.go index ef4daf6f5d..60bec28057 100644 --- a/pkg/engine/background.go +++ b/pkg/engine/background.go @@ -6,7 +6,7 @@ import ( "github.com/go-logr/logr" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" engineapi "github.com/kyverno/kyverno/pkg/engine/api" "github.com/kyverno/kyverno/pkg/engine/internal" engineutils "github.com/kyverno/kyverno/pkg/engine/utils" @@ -33,7 +33,7 @@ func (e *engine) filterRules( policy := policyContext.Policy() resp := engineapi.NewPolicyResponse() applyRules := policy.GetSpec().GetApplyRules() - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { logger := internal.LoggerWithRule(logger, rule) if ruleResp := e.filterRule(rule, logger, policyContext); ruleResp != nil { resp.Rules = append(resp.Rules, *ruleResp) diff --git a/pkg/engine/fuzz_test.go b/pkg/engine/fuzz_test.go index b44c870ea6..761791a42b 100644 --- a/pkg/engine/fuzz_test.go +++ b/pkg/engine/fuzz_test.go @@ -14,7 +14,7 @@ import ( fuzz "github.com/AdaLogics/go-fuzz-headers" kyverno "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/config" "github.com/kyverno/kyverno/pkg/engine/adapters" engineapi "github.com/kyverno/kyverno/pkg/engine/api" @@ -55,7 +55,7 @@ func buildFuzzContext(ff *fuzz.ConsumeFuzzer) (*PolicyContext, error) { cpol := &kyverno.ClusterPolicy{} cpol.Spec = cpSpec - if len(autogen.ComputeRules(cpol, "")) == 0 { + if len(autogenv1.ComputeRules(cpol, "")) == 0 { return nil, fmt.Errorf("No rules created") } @@ -145,7 +145,7 @@ func FuzzEngineValidateTest(f *testing.F) { policy := &kyverno.ClusterPolicy{} policy.Spec = cpSpec - if len(autogen.ComputeRules(policy, "")) == 0 { + if len(autogenv1.ComputeRules(policy, "")) == 0 { return } @@ -241,7 +241,7 @@ func FuzzMutateTest(f *testing.F) { policy := &kyverno.ClusterPolicy{} policy.Spec = cpSpec - if len(autogen.ComputeRules(policy, "")) == 0 { + if len(autogenv1.ComputeRules(policy, "")) == 0 { return } diff --git a/pkg/engine/generation.go b/pkg/engine/generation.go index a450042394..903aa79dd6 100644 --- a/pkg/engine/generation.go +++ b/pkg/engine/generation.go @@ -2,7 +2,7 @@ package engine import ( "github.com/go-logr/logr" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" engineapi "github.com/kyverno/kyverno/pkg/engine/api" "github.com/kyverno/kyverno/pkg/engine/internal" ) @@ -13,7 +13,7 @@ func (e *engine) generateResponse( policyContext engineapi.PolicyContext, ) engineapi.PolicyResponse { resp := engineapi.NewPolicyResponse() - for _, rule := range autogen.ComputeRules(policyContext.Policy(), "") { + for _, rule := range autogenv1.ComputeRules(policyContext.Policy(), "") { logger := internal.LoggerWithRule(logger, rule) if ruleResp := e.filterRule(rule, logger, policyContext); ruleResp != nil { resp.Rules = append(resp.Rules, *ruleResp) diff --git a/pkg/engine/image_verify.go b/pkg/engine/image_verify.go index 74f28d855c..d91a21f872 100644 --- a/pkg/engine/image_verify.go +++ b/pkg/engine/image_verify.go @@ -6,7 +6,7 @@ import ( "github.com/go-logr/logr" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" engineapi "github.com/kyverno/kyverno/pkg/engine/api" "github.com/kyverno/kyverno/pkg/engine/handlers" "github.com/kyverno/kyverno/pkg/engine/handlers/mutation" @@ -28,7 +28,7 @@ func (e *engine) verifyAndPatchImages( policyContext.JSONContext().Checkpoint() defer policyContext.JSONContext().Restore() - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { startTime := time.Now() logger := internal.LoggerWithRule(logger, rule) handlerFactory := func() (handlers.Handler, error) { diff --git a/pkg/engine/mutate/patch/strategicMergePatch_test.go b/pkg/engine/mutate/patch/strategicMergePatch_test.go index e14228f99c..536354b08d 100644 --- a/pkg/engine/mutate/patch/strategicMergePatch_test.go +++ b/pkg/engine/mutate/patch/strategicMergePatch_test.go @@ -6,7 +6,7 @@ import ( "github.com/go-logr/logr" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" assertnew "github.com/stretchr/testify/assert" "gotest.tools/assert" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -244,7 +244,7 @@ func Test_PolicyDeserilize(t *testing.T) { err := json.Unmarshal(rawPolicy, &policy) assert.NilError(t, err) - overlayPatches := autogen.ComputeRules(&policy, "")[0].Mutation.GetPatchStrategicMerge() + overlayPatches := autogenv1.ComputeRules(&policy, "")[0].Mutation.GetPatchStrategicMerge() patchString, err := json.Marshal(overlayPatches) assert.NilError(t, err) diff --git a/pkg/engine/mutation.go b/pkg/engine/mutation.go index c4d70769f3..7a891c92f6 100644 --- a/pkg/engine/mutation.go +++ b/pkg/engine/mutation.go @@ -7,7 +7,7 @@ import ( "github.com/go-logr/logr" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" engineapi "github.com/kyverno/kyverno/pkg/engine/api" "github.com/kyverno/kyverno/pkg/engine/handlers" "github.com/kyverno/kyverno/pkg/engine/handlers/mutation" @@ -29,7 +29,7 @@ func (e *engine) mutate( policyContext.JSONContext().Checkpoint() defer policyContext.JSONContext().Restore() - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { startTime := time.Now() logger := internal.LoggerWithRule(logger, rule) handlerFactory := func() (handlers.Handler, error) { diff --git a/pkg/engine/utils/utils_test.go b/pkg/engine/utils/utils_test.go index bd6c7cc003..0a1bc7ed25 100644 --- a/pkg/engine/utils/utils_test.go +++ b/pkg/engine/utils/utils_test.go @@ -9,7 +9,7 @@ import ( v1 "github.com/kyverno/kyverno/api/kyverno/v1" v2 "github.com/kyverno/kyverno/api/kyverno/v2" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" kubeutils "github.com/kyverno/kyverno/pkg/utils/kube" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -904,7 +904,7 @@ func TestMatchesResourceDescription(t *testing.T) { } resource, _ := kubeutils.BytesToUnstructured(tc.Resource) - for _, rule := range autogen.ComputeRules(&policy, "") { + for _, rule := range autogenv1.ComputeRules(&policy, "") { err := MatchesResourceDescription(*resource, rule, tc.AdmissionInfo, nil, "", resource.GroupVersionKind(), "", "CREATE") if err != nil { if !tc.areErrorsExpected { @@ -1809,7 +1809,7 @@ func TestMatchesResourceDescription_GenerateName(t *testing.T) { } resource, _ := kubeutils.BytesToUnstructured(tc.Resource) - for _, rule := range autogen.ComputeRules(&policy, "") { + for _, rule := range autogenv1.ComputeRules(&policy, "") { err := MatchesResourceDescription(*resource, rule, tc.AdmissionInfo, nil, "", resource.GroupVersionKind(), "", "CREATE") if err != nil { if !tc.areErrorsExpected { diff --git a/pkg/engine/validation.go b/pkg/engine/validation.go index be4c25ae1e..abc2b540e0 100644 --- a/pkg/engine/validation.go +++ b/pkg/engine/validation.go @@ -6,7 +6,7 @@ import ( "github.com/go-logr/logr" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" engineapi "github.com/kyverno/kyverno/pkg/engine/api" "github.com/kyverno/kyverno/pkg/engine/handlers" "github.com/kyverno/kyverno/pkg/engine/handlers/validation" @@ -27,7 +27,7 @@ func (e *engine) validate( defer policyContext.JSONContext().Restore() gvk, _ := policyContext.ResourceKind() - for _, rule := range autogen.ComputeRules(policy, gvk.Kind) { + for _, rule := range autogenv1.ComputeRules(policy, gvk.Kind) { startTime := time.Now() logger := internal.LoggerWithRule(logger, rule) handlerFactory := func() (handlers.Handler, error) { diff --git a/pkg/policy/generate.go b/pkg/policy/generate.go index 76da4d4c8f..0589c1c36f 100644 --- a/pkg/policy/generate.go +++ b/pkg/policy/generate.go @@ -7,7 +7,7 @@ import ( "github.com/kyverno/kyverno/api/kyverno" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov2 "github.com/kyverno/kyverno/api/kyverno/v2" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/background/common" backgroundcommon "github.com/kyverno/kyverno/pkg/background/common" generateutils "github.com/kyverno/kyverno/pkg/background/generate" @@ -146,7 +146,7 @@ func (pc *policyController) handleGenerateForExisting(policy kyvernov1.PolicyInt func (pc *policyController) createURForDownstreamDeletion(policy kyvernov1.PolicyInterface) error { var errs []error var err error - rules := autogen.ComputeRules(policy, "") + rules := autogenv1.ComputeRules(policy, "") ur := newGenerateUR(policy) for _, r := range rules { if !r.HasGenerate() { diff --git a/pkg/policycache/cache_test.go b/pkg/policycache/cache_test.go index 1bc3a33c9a..abd8a19402 100644 --- a/pkg/policycache/cache_test.go +++ b/pkg/policycache/cache_test.go @@ -5,7 +5,7 @@ import ( "testing" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" kubeutils "github.com/kyverno/kyverno/pkg/utils/kube" "gotest.tools/assert" kubecache "k8s.io/client-go/tools/cache" @@ -28,7 +28,7 @@ func Test_All(t *testing.T) { finder := TestResourceFinder{} //add setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -64,7 +64,7 @@ func Test_Add_Duplicate_Policy(t *testing.T) { setPolicy(t, pCache, policy, finder) setPolicy(t, pCache, policy, finder) setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -97,7 +97,7 @@ func Test_Add_Validate_Audit(t *testing.T) { policy.Spec.ValidationFailureAction = "audit" setPolicy(t, pCache, policy, finder) setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -894,7 +894,7 @@ func Test_Ns_All(t *testing.T) { //add setPolicy(t, pCache, policy, finder) nspace := policy.GetNamespace() - rules := autogen.ComputeRules(policy, "") + rules := autogenv1.ComputeRules(policy, "") for _, rule := range rules { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) @@ -931,7 +931,7 @@ func Test_Ns_Add_Duplicate_Policy(t *testing.T) { setPolicy(t, pCache, policy, finder) setPolicy(t, pCache, policy, finder) nspace := policy.GetNamespace() - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -964,7 +964,7 @@ func Test_Ns_Add_Validate_Audit(t *testing.T) { policy.GetSpec().ValidationFailureAction = "audit" setPolicy(t, pCache, policy, finder) setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -1007,7 +1007,7 @@ func Test_GVk_Cache(t *testing.T) { finder := TestResourceFinder{} //add setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -1045,7 +1045,7 @@ func Test_Add_Validate_Enforce(t *testing.T) { finder := TestResourceFinder{} //add setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -1086,7 +1086,7 @@ func Test_Mutate_Policy(t *testing.T) { setPolicy(t, pCache, policy, finder) setPolicy(t, pCache, policy, finder) setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) @@ -1108,7 +1108,7 @@ func Test_Generate_Policy(t *testing.T) { finder := TestResourceFinder{} //add setPolicy(t, pCache, policy, finder) - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { for _, kind := range rule.MatchResources.Kinds { group, version, kind, subresource := kubeutils.ParseKindSelector(kind) gvrs, err := finder.FindResources(group, version, kind, subresource) diff --git a/pkg/policycache/store.go b/pkg/policycache/store.go index 3ed61fcbc4..55d0d37461 100644 --- a/pkg/policycache/store.go +++ b/pkg/policycache/store.go @@ -4,7 +4,7 @@ import ( "sync" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" kubeutils "github.com/kyverno/kyverno/pkg/utils/kube" "go.uber.org/multierr" "k8s.io/apimachinery/pkg/runtime/schema" @@ -111,7 +111,7 @@ func (m *policyMap) set(key string, policy kyvernov1.PolicyInterface, client Res hasMutate, hasValidate, hasGenerate, hasVerifyImages, hasImagesValidationChecks bool } kindStates := map[policyKey]state{} - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { if rule.HasValidate() { action := rule.Validation.FailureAction if action != nil && action.Enforce() { diff --git a/pkg/validation/policy/background.go b/pkg/validation/policy/background.go index 7f512d3731..64ba74da4d 100644 --- a/pkg/validation/policy/background.go +++ b/pkg/validation/policy/background.go @@ -5,7 +5,7 @@ import ( "regexp" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" ) var ForbiddenUserVariables = []*regexp.Regexp{ @@ -18,7 +18,7 @@ var ForbiddenUserVariables = []*regexp.Regexp{ // containsUserVariables returns error if variable that does not start from request.object func containsUserVariables(policy kyvernov1.PolicyInterface, vars [][]string) error { - rules := autogen.ComputeRules(policy, "") + rules := autogenv1.ComputeRules(policy, "") for idx := range rules { if err := hasUserMatchExclude(idx, &rules[idx]); err != nil { return err diff --git a/pkg/validation/policy/validate.go b/pkg/validation/policy/validate.go index 357292a521..d6c07b1f35 100644 --- a/pkg/validation/policy/validate.go +++ b/pkg/validation/policy/validate.go @@ -19,7 +19,7 @@ import ( kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov2alpha1 "github.com/kyverno/kyverno/api/kyverno/v2alpha1" "github.com/kyverno/kyverno/ext/wildcard" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" "github.com/kyverno/kyverno/pkg/client/clientset/versioned" "github.com/kyverno/kyverno/pkg/clients/dclient" enginecontext "github.com/kyverno/kyverno/pkg/engine/context" @@ -232,7 +232,7 @@ func Validate(policy, oldPolicy kyvernov1.PolicyInterface, client dclient.Interf return warnings, err } - rules := autogen.ComputeRules(policy, "") + rules := autogenv1.ComputeRules(policy, "") rulesPath := specPath.Child("rules") for i, rule := range rules { @@ -549,7 +549,7 @@ func ValidateVariables(p kyvernov1.PolicyInterface, backgroundMode bool) error { // hasInvalidVariables - checks for unexpected variables in the policy func hasInvalidVariables(policy kyvernov1.PolicyInterface, background bool) error { - for _, r := range autogen.ComputeRules(policy, "") { + for _, r := range autogenv1.ComputeRules(policy, "") { ruleCopy := r.DeepCopy() if err := ruleForbiddenSectionsHaveVariables(ruleCopy); err != nil { diff --git a/pkg/webhooks/resource/updaterequest.go b/pkg/webhooks/resource/updaterequest.go index 2b6cae6a4a..5bced01dc6 100644 --- a/pkg/webhooks/resource/updaterequest.go +++ b/pkg/webhooks/resource/updaterequest.go @@ -9,7 +9,7 @@ import ( "github.com/go-logr/logr" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov2 "github.com/kyverno/kyverno/api/kyverno/v2" - "github.com/kyverno/kyverno/pkg/autogen" + autogenv1 "github.com/kyverno/kyverno/pkg/autogen/v1" engineapi "github.com/kyverno/kyverno/pkg/engine/api" "github.com/kyverno/kyverno/pkg/event" datautils "github.com/kyverno/kyverno/pkg/utils/data" @@ -54,7 +54,7 @@ func (h *resourceHandlers) handleMutateExisting(ctx context.Context, logger logr // skip rules that don't specify the DELETE operation in case the admission request is of type DELETE var skipped []string - for _, rule := range autogen.ComputeRules(policy, "") { + for _, rule := range autogenv1.ComputeRules(policy, "") { if request.AdmissionRequest.Operation == admissionv1.Delete && !webhookutils.MatchDeleteOperation(rule) { skipped = append(skipped, rule.Name) }