From 429b05544a084e1ac4018ffc0e93866360ea7dd0 Mon Sep 17 00:00:00 2001
From: Anushka Mittal <138426011+anushkamittal2001@users.noreply.github.com>
Date: Wed, 10 Jul 2024 15:32:04 +0530
Subject: [PATCH 01/44] fix: compute operations for mutatingwebhookconf
(#10639)
* fix: compute operations for mutatingwebhookconf
Signed-off-by: anushkamittal20
* chore: add unit test
Signed-off-by: anushkamittal20
---------
Signed-off-by: anushkamittal20
Co-authored-by: anushkamittal20
---
pkg/controllers/webhook/controller.go | 14 ++--
pkg/controllers/webhook/controller_test.go | 86 ++++++++++++++++++++++
2 files changed, 94 insertions(+), 6 deletions(-)
diff --git a/pkg/controllers/webhook/controller.go b/pkg/controllers/webhook/controller.go
index 4c2a2a87861a..a0411f64be4e 100644
--- a/pkg/controllers/webhook/controller.go
+++ b/pkg/controllers/webhook/controller.go
@@ -820,12 +820,14 @@ func (c *controller) buildDefaultResourceValidatingWebhookConfiguration(_ contex
func addOpnForMutatingWebhookConf(rules []kyvernov1.Rule, mapResourceToOpnType map[string][]admissionregistrationv1.OperationType) map[string][]admissionregistrationv1.OperationType {
var mapResourceToOpn map[string]map[string]bool
for _, r := range rules {
- var resources []string
- operationStatusMap := getOperationStatusMap()
- operationStatusMap = computeOperationsForMutatingWebhookConf(r, operationStatusMap)
- resources = computeResourcesOfRule(r)
- for _, r := range resources {
- mapResourceToOpn, mapResourceToOpnType = appendResource(r, mapResourceToOpn, operationStatusMap, mapResourceToOpnType)
+ if r.HasMutate() || r.HasVerifyImages() {
+ var resources []string
+ operationStatusMap := getOperationStatusMap()
+ operationStatusMap = computeOperationsForMutatingWebhookConf(r, operationStatusMap)
+ resources = computeResourcesOfRule(r)
+ for _, r := range resources {
+ mapResourceToOpn, mapResourceToOpnType = appendResource(r, mapResourceToOpn, operationStatusMap, mapResourceToOpnType)
+ }
}
}
return mapResourceToOpnType
diff --git a/pkg/controllers/webhook/controller_test.go b/pkg/controllers/webhook/controller_test.go
index 9cd20f6db4db..c539b0b3be83 100644
--- a/pkg/controllers/webhook/controller_test.go
+++ b/pkg/controllers/webhook/controller_test.go
@@ -4,10 +4,12 @@ import (
"cmp"
"reflect"
"slices"
+ "sort"
"testing"
kyverno "github.com/kyverno/kyverno/api/kyverno/v1"
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
+ apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
)
func TestAddOperationsForValidatingWebhookConfMultiplePolicies(t *testing.T) {
@@ -318,3 +320,87 @@ func TestAddOperationsForMutatingtingWebhookConf(t *testing.T) {
})
}
}
+
+func TestAddOperationsForMutatingtingWebhookConfMultiplePolicies(t *testing.T) {
+ testCases := []struct {
+ name string
+ policies []kyverno.ClusterPolicy
+ expectedResult map[string][]admissionregistrationv1.OperationType
+ }{
+ {
+ name: "test-1",
+ policies: []kyverno.ClusterPolicy{
+ {
+ Spec: kyverno.Spec{
+ Rules: []kyverno.Rule{
+ {
+ Mutation: kyverno.Mutation{
+ RawPatchStrategicMerge: &apiextensionsv1.JSON{Raw: []byte(`"nodeSelector": {<"public-ip-type": "elastic"}, +"priorityClassName": "elastic-ip-required"`)}},
+ MatchResources: kyverno.MatchResources{
+ ResourceDescription: kyverno.ResourceDescription{
+ Kinds: []string{"Pod"},
+ },
+ },
+ },
+ },
+ },
+ },
+ {
+ Spec: kyverno.Spec{
+ Rules: []kyverno.Rule{
+ {
+ Generation: kyverno.Generation{},
+ MatchResources: kyverno.MatchResources{
+ ResourceDescription: kyverno.ResourceDescription{
+ Kinds: []string{"Deployments", "StatefulSet", "DaemonSet", "Job"},
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ expectedResult: map[string][]admissionregistrationv1.OperationType{
+ "Pod": {"CREATE", "UPDATE"},
+ },
+ },
+ }
+
+ var mapResourceToOpnType map[string][]admissionregistrationv1.OperationType
+ for _, test := range testCases {
+ t.Run(test.name, func(t *testing.T) {
+ for _, p := range test.policies {
+ mapResourceToOpnType = addOpnForMutatingWebhookConf(p.GetSpec().Rules, mapResourceToOpnType)
+ }
+ if !compareMaps(mapResourceToOpnType, test.expectedResult) {
+ t.Errorf("Expected %v, but got %v", test.expectedResult, mapResourceToOpnType)
+ }
+ })
+ }
+}
+
+func compareMaps(a, b map[string][]admissionregistrationv1.OperationType) bool {
+ if len(a) != len(b) {
+ return false
+ }
+
+ for key, aValue := range a {
+ bValue, ok := b[key]
+ if !ok {
+ return false
+ }
+
+ sort.Slice(aValue, func(i, j int) bool {
+ return cmp.Compare(aValue[i], aValue[j]) < 0
+ })
+ sort.Slice(bValue, func(i, j int) bool {
+ return cmp.Compare(bValue[i], bValue[j]) < 0
+ })
+
+ if !reflect.DeepEqual(aValue, bValue) {
+ return false
+ }
+ }
+
+ return true
+}
From 9904718d0874b8c248065d6d205defdd450cf4cf Mon Sep 17 00:00:00 2001
From: Vishal Choudhary
Date: Wed, 10 Jul 2024 18:01:19 +0530
Subject: [PATCH 02/44] fix: rename level 1 logs to INFO from DEBUG (#10617)
Signed-off-by: Vishal Choudhary
Co-authored-by: shuting
---
pkg/logging/log.go | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/pkg/logging/log.go b/pkg/logging/log.go
index f79f491f1318..9a7c18fe561d 100644
--- a/pkg/logging/log.go
+++ b/pkg/logging/log.go
@@ -59,8 +59,10 @@ func Setup(logFormat string, loggingTimestampFormat string, level int) error {
switch logFormat {
case TextFormat:
zc = zap.NewDevelopmentConfig()
+ zc.EncoderConfig.EncodeLevel = zapLevelEncoderText
case JSONFormat:
zc = zap.NewProductionConfig()
+ zc.EncoderConfig.EncodeLevel = zapLevelEncoderJson
default:
return errors.New("log format not recognized, pass `text` for text mode or `json` to enable JSON logging")
}
@@ -186,3 +188,21 @@ func (a *writerAdapter) Write(p []byte) (int, error) {
func StdLogger(logger logr.Logger, prefix string) *stdlog.Logger {
return stdlog.New(&writerAdapter{logger: logger}, prefix, stdlog.LstdFlags)
}
+
+func zapLevelEncoderText(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder) {
+ enc.AppendString(zapLevelToString(l))
+}
+
+func zapLevelEncoderJson(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder) {
+ enc.AppendString(strings.ToLower(zapLevelToString(l)))
+}
+
+func zapLevelToString(zapLevel zapcore.Level) string {
+ if zapLevel <= 0 && zapLevel >= -2 {
+ return "INFO"
+ } else if zapLevel <= -3 {
+ return "DEBUG"
+ } else {
+ return zapLevel.CapitalString()
+ }
+}
From 5b715420a3d1e84856e0398b0983b73d69e09426 Mon Sep 17 00:00:00 2001
From: Mariam Fahmy
Date: Wed, 10 Jul 2024 18:31:32 +0400
Subject: [PATCH 03/44] fix: truncate event messages to 1024 chars (#10636)
* fix: truncate event messages to 1024 chars
Signed-off-by: Mariam Fahmy
* add chainsaw test
Signed-off-by: Mariam Fahmy
---------
Signed-off-by: Mariam Fahmy
Co-authored-by: Jim Bugwadia
---
pkg/event/controller.go | 6 ++++-
pkg/event/events.go | 8 +-----
pkg/event/events_test.go | 25 -------------------
.../chainsaw-test.yaml | 21 ++++++++++++++++
.../event-assert.yaml | 17 +++++++++++++
.../policy-assert.yaml | 10 ++++++++
.../policy.yaml | 18 +++++++++++++
.../resource.yaml | 14 +++++++++++
8 files changed, 86 insertions(+), 33 deletions(-)
delete mode 100644 pkg/event/events_test.go
create mode 100755 test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/event-assert.yaml
create mode 100644 test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy.yaml
create mode 100644 test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/resource.yaml
diff --git a/pkg/event/controller.go b/pkg/event/controller.go
index 0b71ff8de1a2..18a085185065 100644
--- a/pkg/event/controller.go
+++ b/pkg/event/controller.go
@@ -175,6 +175,10 @@ func (gen *controller) emitEvent(key Info) {
if namespace == "" {
namespace = metav1.NamespaceDefault
}
+ message := key.Message
+ if len(message) > 1024 {
+ message = message[0:1021] + "..."
+ }
event := &eventsv1.Event{
ObjectMeta: metav1.ObjectMeta{
Name: fmt.Sprintf("%v.%x", refRegarding.Name, t.UnixNano()),
@@ -188,7 +192,7 @@ func (gen *controller) emitEvent(key Info) {
Reason: string(key.Reason),
Regarding: *refRegarding,
Related: refRelated,
- Note: key.Message,
+ Note: message,
Type: eventType,
}
diff --git a/pkg/event/events.go b/pkg/event/events.go
index d4de317fdc51..f21c5c14c1ad 100644
--- a/pkg/event/events.go
+++ b/pkg/event/events.go
@@ -58,13 +58,7 @@ func buildPolicyEventMessage(resp engineapi.RuleResponse, resource engineapi.Res
if resp.Message() != "" {
fmt.Fprintf(&b, "; %s", resp.Message())
}
-
- msg := b.String()
- if len(msg) > 1024 {
- msg = msg[0:1021] + "..."
- }
-
- return msg
+ return b.String()
}
func NewPolicyAppliedEvent(source Source, engineResponse engineapi.EngineResponse) Info {
diff --git a/pkg/event/events_test.go b/pkg/event/events_test.go
deleted file mode 100644
index 94ac657410fb..000000000000
--- a/pkg/event/events_test.go
+++ /dev/null
@@ -1,25 +0,0 @@
-package event
-
-import (
- "testing"
-
- engineapi "github.com/kyverno/kyverno/pkg/engine/api"
- "gotest.tools/assert"
-)
-
-func TestMessageLength(t *testing.T) {
- msg := "policy psa/baseline fail: Validation rule 'baseline' failed. It violates PodSecurity \"restricted:latest\": (Forbidden reason: allowPrivilegeEscalation != false, field error list: [spec.containers[0].securityContext.allowPrivilegeEscalation is forbidden, forbidden values found: nil])(Forbidden reason: unrestricted capabilities, field error list: [spec.containers[0].securityContext.capabilities.drop: Required value])(Forbidden reason: host namespaces, field error list: [spec.hostNetwork is forbidden, forbidden values found: true])(Forbidden reason: hostPath volumes, field error list: [spec.volumes[1].hostPath is forbidden, forbidden values found: /run/xtables.lock, spec.volumes[2].hostPath is forbidden, forbidden values found: /lib/modules])(Forbidden reason: privileged, field error list: [spec.containers[0].securityContext.privileged is forbidden, forbidden values found: true])(Forbidden reason: restricted volume types, field error list: [spec.volumes[1].hostPath: Forbidden, spec.volumes[2].hostPath: Forbidden])(Forbidden reason: runAsNonRoot != true, field error list: [spec.containers[0].securityContext.runAsNonRoot: Required value])(Forbidden reason: seccompProfile, field error list: [spec.containers[0].securityContext.seccompProfile.type: Required value])"
- assert.Assert(t, len(msg) > 1024)
-
- resp := engineapi.NewRuleResponse("podSecurity", engineapi.Validation, msg, engineapi.RuleStatusFail)
-
- resource := &engineapi.ResourceSpec{
- Kind: "Pod",
- APIVersion: "v1",
- Namespace: "default",
- UID: "9005aec3-f779-4d19-985b-3ff51a695cca",
- }
-
- eventMsg := buildPolicyEventMessage(*resp, *resource, true)
- assert.Equal(t, 1024, len(eventMsg))
-}
diff --git a/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/chainsaw-test.yaml b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/chainsaw-test.yaml
new file mode 100755
index 000000000000..72fa2c5aeb21
--- /dev/null
+++ b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/chainsaw-test.yaml
@@ -0,0 +1,21 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: message-exceeds-1024-characters
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - apply:
+ file: resource.yaml
+ - name: step-03
+ try:
+ - assert:
+ file: event-assert.yaml
diff --git a/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/event-assert.yaml b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/event-assert.yaml
new file mode 100644
index 000000000000..133b4926d1b1
--- /dev/null
+++ b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/event-assert.yaml
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Event
+metadata:
+ namespace: default
+involvedObject:
+ apiVersion: v1
+ kind: Pod
+ name: badpod01
+ namespace: default
+type: Warning
+reason: PolicyViolation
+action: Resource Passed
+reportingComponent: kyverno-scan
+message: 'policy podsecurity-subrule-restricted/restricted fail: Validation rule
+ ''restricted'' failed. It violates PodSecurity "restricted:latest": (Forbidden
+ reason: unrestricted capabilities, field error list: [spec.containers[0].securityContext.capabilities.drop:
+ Required value])'
diff --git a/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy-assert.yaml b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy-assert.yaml
new file mode 100644
index 000000000000..745e0ae3aafc
--- /dev/null
+++ b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy-assert.yaml
@@ -0,0 +1,10 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: podsecurity-subrule-restricted
+spec: {}
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
diff --git a/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy.yaml b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy.yaml
new file mode 100644
index 000000000000..3d6ea0ae684f
--- /dev/null
+++ b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/policy.yaml
@@ -0,0 +1,18 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: podsecurity-subrule-restricted
+spec:
+ background: true
+ validationFailureAction: Audit
+ rules:
+ - name: restricted
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ validate:
+ podSecurity:
+ level: restricted
+ version: latest
diff --git a/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/resource.yaml b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/resource.yaml
new file mode 100644
index 000000000000..00ac4d55756d
--- /dev/null
+++ b/test/conformance/chainsaw/events/clusterpolicy/message-exceeds-1024-characters/resource.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ name: badpod01
+ namespace: default
+spec:
+ containers:
+ - name: container01
+ image: dummyimagename
+ securityContext:
+ allowPrivilegeEscalation: false
+ runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
\ No newline at end of file
From 5ca0db58b6c90aa4bd94fce1d0b7d2be45579fdb Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 11 Jul 2024 09:13:41 +0000
Subject: [PATCH 04/44] chore(deps): bump actions/setup-python from 5.1.0 to
5.1.1 (#10647)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/82c7e631bb3cdc910f68e0081d67478d79c6982d...39cd14951b08e74b54015e9e001cdefcf80e669f)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/helm-release.yaml | 2 +-
.github/workflows/helm-test.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/helm-release.yaml b/.github/workflows/helm-release.yaml
index f28f2ff2e103..41b8c37245b8 100644
--- a/.github/workflows/helm-release.yaml
+++ b/.github/workflows/helm-release.yaml
@@ -25,7 +25,7 @@ jobs:
- name: Setup build env
uses: ./.github/actions/setup-build-env
timeout-minutes: 10
- - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
+ - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
with:
python-version: 3.7
- name: Set up chart-testing
diff --git a/.github/workflows/helm-test.yaml b/.github/workflows/helm-test.yaml
index 4cb8a85f737e..a246d3bcd69d 100644
--- a/.github/workflows/helm-test.yaml
+++ b/.github/workflows/helm-test.yaml
@@ -33,7 +33,7 @@ jobs:
uses: ./.github/actions/setup-build-env
timeout-minutes: 10
- name: Setup python
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
with:
python-version: 3.7
- name: Set up chart-testing
From 66e9d16dbe9b4cff6a8fe739f95947d461a4a0de Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 11 Jul 2024 10:15:07 +0000
Subject: [PATCH 05/44] chore(deps): bump github.com/alitto/pond from 1.9.0 to
1.9.1 (#10649)
Bumps [github.com/alitto/pond](https://github.com/alitto/pond) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/alitto/pond/releases)
- [Commits](https://github.com/alitto/pond/compare/v1.9.0...v1.9.1)
---
updated-dependencies:
- dependency-name: github.com/alitto/pond
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 5cc53535799b..26b8fecdc80b 100644
--- a/go.mod
+++ b/go.mod
@@ -7,7 +7,7 @@ require (
github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d
github.com/IGLOU-EU/go-wildcard v1.0.3
github.com/Masterminds/sprig/v3 v3.2.3
- github.com/alitto/pond v1.9.0
+ github.com/alitto/pond v1.9.1
github.com/aquilax/truncate v1.0.0
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20240525144225-0fe7eafab216
diff --git a/go.sum b/go.sum
index c77def66cbe4..e3b29a731ec2 100644
--- a/go.sum
+++ b/go.sum
@@ -135,8 +135,8 @@ github.com/alibabacloud-go/tea-utils v1.4.5/go.mod h1:KNcT0oXlZZxOXINnZBs6YvgOd5
github.com/alibabacloud-go/tea-xml v1.1.2/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8=
github.com/alibabacloud-go/tea-xml v1.1.3 h1:7LYnm+JbOq2B+T/B0fHC4Ies4/FofC4zHzYtqw7dgt0=
github.com/alibabacloud-go/tea-xml v1.1.3/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8=
-github.com/alitto/pond v1.9.0 h1:B8BrvXyKe97NK9LHuRsQAOmpRnsp6GJ7mCg1Cgitczo=
-github.com/alitto/pond v1.9.0/go.mod h1:xQn3P/sHTYcU/1BR3i86IGIrilcrGC2LiS+E2+CJWsI=
+github.com/alitto/pond v1.9.1 h1:OfCpIrMyrWJpn34f647DcFmUxjK8+7Nu3eoVN/WTP+o=
+github.com/alitto/pond v1.9.1/go.mod h1:xQn3P/sHTYcU/1BR3i86IGIrilcrGC2LiS+E2+CJWsI=
github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw=
github.com/aliyun/credentials-go v1.3.4 h1:X5nse+8s7ft00ANpoG3+bFJIqZVpjHbOg7G9gWQshVY=
github.com/aliyun/credentials-go v1.3.4/go.mod h1:1LxUuX7L5YrZUWzBrRyk0SwSdH4OmPrib8NVePL3fxM=
From 3fbb5923fa5dbca364249dc06352c342915a687f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 12 Jul 2024 05:33:53 +0000
Subject: [PATCH 06/44] chore(deps): bump sigstore/scaffolding from 0.7.3 to
0.7.4 (#10646)
Bumps [sigstore/scaffolding](https://github.com/sigstore/scaffolding) from 0.7.3 to 0.7.4.
- [Release notes](https://github.com/sigstore/scaffolding/releases)
- [Changelog](https://github.com/sigstore/scaffolding/blob/main/release.md)
- [Commits](https://github.com/sigstore/scaffolding/compare/bfc40f4d3aa430f28cec9c68b628df983601810e...26f31cb72ca848bb0273fcbd7a4ebf187ec4d711)
---
updated-dependencies:
- dependency-name: sigstore/scaffolding
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/conformance.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/conformance.yaml b/.github/workflows/conformance.yaml
index f8055be01d99..2a26feaac5a9 100644
--- a/.github/workflows/conformance.yaml
+++ b/.github/workflows/conformance.yaml
@@ -646,7 +646,7 @@ jobs:
uses: kyverno/action-install-chainsaw@573a9c636f7c586f86ecb9de9674176daf80ee29 # v0.2.5
# create cluster
- name: Create kind cluster and setup Sigstore Scaffolding
- uses: sigstore/scaffolding/actions/setup@bfc40f4d3aa430f28cec9c68b628df983601810e
+ uses: sigstore/scaffolding/actions/setup@26f31cb72ca848bb0273fcbd7a4ebf187ec4d711
with:
version: main
k8s-version: ${{ matrix.k8s-version.version }}
From 484e9aab3e9e2bf53ec939f373a625f5fc799049 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 12 Jul 2024 08:42:47 +0000
Subject: [PATCH 07/44] chore(deps): bump aquasecurity/trivy-action from 0.23.0
to 0.24.0 (#10631)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/7c2007bcb556501da015201bcba5aa14069b74e2...6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8)
---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/devcontainer-build.yaml | 2 +-
.github/workflows/images-build.yaml | 2 +-
.github/workflows/images-publish.yaml | 2 +-
.github/workflows/release.yaml | 2 +-
.github/workflows/report-on-vulnerabilities.yaml | 6 +++---
5 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/devcontainer-build.yaml b/.github/workflows/devcontainer-build.yaml
index fb9090ba9db3..064c2bba4fd6 100644
--- a/.github/workflows/devcontainer-build.yaml
+++ b/.github/workflows/devcontainer-build.yaml
@@ -23,7 +23,7 @@ jobs:
- name: Build devcontainer image
run: docker build .devcontainer
- name: Trivy Scan Image
- uses: aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2 # v0.23.0
+ uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
with:
scan-type: 'fs'
ignore-unfixed: true
diff --git a/.github/workflows/images-build.yaml b/.github/workflows/images-build.yaml
index 3b6f0dfcf46b..90b6b5e45e57 100644
--- a/.github/workflows/images-build.yaml
+++ b/.github/workflows/images-build.yaml
@@ -31,7 +31,7 @@ jobs:
- name: ko build
run: VERSION=${{ github.ref_name }} make ko-build-all
- name: Trivy Scan Image
- uses: aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2 # v0.23.0
+ uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
with:
scan-type: 'fs'
ignore-unfixed: true
diff --git a/.github/workflows/images-publish.yaml b/.github/workflows/images-publish.yaml
index 4801aa79c681..3bd54fd9be09 100644
--- a/.github/workflows/images-publish.yaml
+++ b/.github/workflows/images-publish.yaml
@@ -40,7 +40,7 @@ jobs:
uses: ./.github/actions/setup-build-env
timeout-minutes: 30
- name: Run Trivy vulnerability scanner in repo mode
- uses: aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2 # v0.23.0
+ uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
with:
scan-type: 'fs'
ignore-unfixed: true
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 8effe82e8aca..d5b95d21118e 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -35,7 +35,7 @@ jobs:
uses: ./.github/actions/setup-build-env
timeout-minutes: 30
- name: Run Trivy vulnerability scanner in repo mode
- uses: aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2 # v0.23.0
+ uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
with:
scan-type: 'fs'
ignore-unfixed: true
diff --git a/.github/workflows/report-on-vulnerabilities.yaml b/.github/workflows/report-on-vulnerabilities.yaml
index f0d0685ac841..aec28c50230d 100644
--- a/.github/workflows/report-on-vulnerabilities.yaml
+++ b/.github/workflows/report-on-vulnerabilities.yaml
@@ -30,7 +30,7 @@ jobs:
echo "releasebranch2=$releasebranch2" >> $GITHUB_OUTPUT
- name: Scan for vulnerabilities in latest image
- uses: aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2 # v0.8.0 (Trivy v0.34.0)
+ uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.8.0 (Trivy v0.34.0)
with:
image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
@@ -40,7 +40,7 @@ jobs:
output: scan1.json
- name: Scan for vulnerabilities in latest-1 image
- uses: aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2 # v0.8.0 (Trivy v0.34.0)
+ uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.8.0 (Trivy v0.34.0)
with:
image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.get-branches.outputs.releasebranch1 }}
format: json
@@ -49,7 +49,7 @@ jobs:
output: scan2.json
- name: Scan for vulnerabilities in latest-2 image
- uses: aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2 # v0.8.0 (Trivy v0.34.0)
+ uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.8.0 (Trivy v0.34.0)
with:
image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.get-branches.outputs.releasebranch2 }}
format: json
From 35494bd8bb36159218d8217f584958bdcc415e3b Mon Sep 17 00:00:00 2001
From: Mariam Fahmy
Date: Tue, 16 Jul 2024 15:14:47 +0300
Subject: [PATCH 08/44] feat add chainsaw tests for pod security and exceptions
(#10664)
* feat add chainsaw tests for pod security and exceptions
Signed-off-by: Mariam Fahmy
* fix: enable ProcMountType in the kind config
Signed-off-by: Mariam Fahmy
---------
Signed-off-by: Mariam Fahmy
---
go.mod | 2 +-
go.sum | 4 +-
pkg/pss/evaluate_test.go | 2 +-
scripts/config/kind/default.yaml | 1 +
.../exceptions/psa-run-as-non-root/README.md | 32 +++++++++++++++
.../psa-run-as-non-root/bad-pod-01.yaml | 39 ++++++++++++++++++
.../psa-run-as-non-root/bad-pod-02.yaml | 38 ++++++++++++++++++
.../psa-run-as-non-root/chainsaw-test.yaml | 35 ++++++++++++++++
.../psa-run-as-non-root/exception.yaml | 21 ++++++++++
.../psa-run-as-non-root/good-pod.yaml | 40 +++++++++++++++++++
.../psa-run-as-non-root/policy-assert.yaml | 9 +++++
.../psa-run-as-non-root/policy.yaml | 31 ++++++++++++++
.../cornercases/psa-run-as-non-root/README.md | 30 ++++++++++++++
.../psa-run-as-non-root/bad-pod-01.yaml | 39 ++++++++++++++++++
.../psa-run-as-non-root/bad-pod-02.yaml | 38 ++++++++++++++++++
.../psa-run-as-non-root/chainsaw-test.yaml | 32 +++++++++++++++
.../psa-run-as-non-root/good-pod.yaml | 40 +++++++++++++++++++
.../psa-run-as-non-root/policy-assert.yaml | 9 +++++
.../psa-run-as-non-root/policy.yaml | 31 ++++++++++++++
19 files changed, 469 insertions(+), 4 deletions(-)
create mode 100644 test/conformance/chainsaw/exceptions/psa-run-as-non-root/README.md
create mode 100644 test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-01.yaml
create mode 100644 test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-02.yaml
create mode 100755 test/conformance/chainsaw/exceptions/psa-run-as-non-root/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/exceptions/psa-run-as-non-root/exception.yaml
create mode 100644 test/conformance/chainsaw/exceptions/psa-run-as-non-root/good-pod.yaml
create mode 100644 test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy.yaml
create mode 100644 test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/README.md
create mode 100644 test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-01.yaml
create mode 100644 test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-02.yaml
create mode 100755 test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/good-pod.yaml
create mode 100644 test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy.yaml
diff --git a/go.mod b/go.mod
index 26b8fecdc80b..3a3a627acb4a 100644
--- a/go.mod
+++ b/go.mod
@@ -390,5 +390,5 @@ replace (
github.com/prometheus/client_golang v1.19.0 => github.com/prometheus/client_golang v1.18.0
github.com/prometheus/common v0.48.0 => github.com/prometheus/common v0.44.0
github.com/sigstore/cosign/v2 v2.2.4 => github.com/kyverno/cosign/v2 v2.2.4-deps-fix
- k8s.io/pod-security-admission v0.30.1 => github.com/YTGhost/pod-security-admission v0.22.0-beta.0.0.20240603173423-11663473ae49
+ k8s.io/pod-security-admission v0.30.1 => github.com/kyverno/pod-security-admission v0.0.0-20240715131510-7fb54a8d376d
)
diff --git a/go.sum b/go.sum
index e3b29a731ec2..9691f54b1a1e 100644
--- a/go.sum
+++ b/go.sum
@@ -88,8 +88,6 @@ github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0k
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
github.com/ThalesIgnite/crypto11 v1.2.5 h1:1IiIIEqYmBvUYFeMnHqRft4bwf/O36jryEUpY+9ef8E=
github.com/ThalesIgnite/crypto11 v1.2.5/go.mod h1:ILDKtnCKiQ7zRoNxcp36Y1ZR8LBPmR2E23+wTQe/MlE=
-github.com/YTGhost/pod-security-admission v0.22.0-beta.0.0.20240603173423-11663473ae49 h1:dwYC6vA5cR+2YFeEasNoJGVj/NrsXCSIWww3qQxeQFY=
-github.com/YTGhost/pod-security-admission v0.22.0-beta.0.0.20240603173423-11663473ae49/go.mod h1:wJpTzOGwDdTbVbIqwBuAX7io1eDQIuW/UfMaK5/Xzn0=
github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8=
github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo=
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
@@ -613,6 +611,8 @@ github.com/kyverno/kyverno-json v0.0.3 h1:EImI/YV41dG4hDQer/W0qMZHfxqul1yiHrBEXx
github.com/kyverno/kyverno-json v0.0.3/go.mod h1:KUgXPXwUh0Sm/UgtHPomZAfEX8v79I3B5RZbUlzNihg=
github.com/kyverno/pkg/ext v0.0.0-20240418121121-df8add26c55c h1:lAolpR9H8BwM5lRRvgCQ8JowswyxZRH+fgtIQzHFVCk=
github.com/kyverno/pkg/ext v0.0.0-20240418121121-df8add26c55c/go.mod h1:02vxM0GNXz9+B/i6+rMfWAIwibUuAH+qFsd73IFskgQ=
+github.com/kyverno/pod-security-admission v0.0.0-20240715131510-7fb54a8d376d h1:JNgsQw8TtxEeGA3lkra0qMG+B4fMhUwZiMRdJ8NQah4=
+github.com/kyverno/pod-security-admission v0.0.0-20240715131510-7fb54a8d376d/go.mod h1:wJpTzOGwDdTbVbIqwBuAX7io1eDQIuW/UfMaK5/Xzn0=
github.com/lensesio/tableprinter v0.0.0-20201125135848-89e81fc956e7 h1:k/1ku0yehLCPqERCHkIHMDqDg1R02AcCScRuHbamU3s=
github.com/lensesio/tableprinter v0.0.0-20201125135848-89e81fc956e7/go.mod h1:YR/zYthNdWfO8+0IOyHDcIDBBBS2JMnYUIwSsnwmRqU=
github.com/letsencrypt/boulder v0.0.0-20240127020530-97a19b18d21e h1:7QjzPboPE+0pVMsZP1sz1mN26m6vew78YmcIZz1FMrg=
diff --git a/pkg/pss/evaluate_test.go b/pkg/pss/evaluate_test.go
index f0d3770971e1..f2d266081029 100644
--- a/pkg/pss/evaluate_test.go
+++ b/pkg/pss/evaluate_test.go
@@ -7408,7 +7408,7 @@ var restricted_runAsNonRoot = []testCase{
]
}
}`),
- allowed: true,
+ allowed: false,
},
{
name: "restricted_runAsNonRoot_defines_all_violate_spec_true_container_true_spec_level_allowed_positive",
diff --git a/scripts/config/kind/default.yaml b/scripts/config/kind/default.yaml
index 1e1322d51ec7..4a4d00cc2152 100644
--- a/scripts/config/kind/default.yaml
+++ b/scripts/config/kind/default.yaml
@@ -37,3 +37,4 @@ nodes:
featureGates:
"JobPodFailurePolicy": true
"PodDisruptionConditions": true
+ "ProcMountType": true
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/README.md b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/README.md
new file mode 100644
index 000000000000..4c1082aaed55
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/README.md
@@ -0,0 +1,32 @@
+## Description
+
+This test creates an exception for the init containers to set the `runAsNonRoot` to false
+
+## Expected Behavior
+
+1. Create a policy that applies the restricted profile.
+
+2. Create an exception for the init containters to set the `runAsNonRoot` to false.
+
+3. Create a pod with the following characteristics:
+ - The pod has an init container that sets the `runAsNonRoot` field to `false`.
+ - The pod has a container that doesn't set the `runAsNonRoot` field.
+
+ It is expected that the pod will be blocked with a message reporting the violation of the container. The init container is already excluded by the exception.
+
+3. Create a pod with the following characteristics:
+ - The pod has an init container that sets the `runAsNonRoot` field to `true`.
+ - The pod has a container that doesn't set the `runAsNonRoot` field.
+
+ It is expected that the pod will be blocked with a message reporting the violation of the container.
+
+4. Create a pod with the following characteristics:
+ - The pod has an init container that sets the `runAsNonRoot` field to `false`.
+ - The pod has a container that doesn't set the `runAsNonRoot` field.
+ - `runAsNonRoot` is set to `true` in the pod spec.
+
+ It is expected that the pod will be created successfully.
+
+## Reference Issue(s)
+
+#10581
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-01.yaml b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-01.yaml
new file mode 100644
index 000000000000..b0029e12bf0a
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-01.yaml
@@ -0,0 +1,39 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ run: test-pod
+ name: test-pod
+ namespace: default
+spec:
+ containers:
+ - image: nginx
+ name: test-pod
+ resources:
+ limits:
+ cpu: "2"
+ memory: 4Gi
+ requests:
+ cpu: 50m
+ memory: 256Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ initContainers:
+ - args:
+ - istio-iptables
+ env:
+ - name: TERMINATION_DRAIN_DURATION_SECONDS
+ value: "30"
+ image: some.registry/istio/proxyv2:1.18.7
+ imagePullPolicy: IfNotPresent
+ name: istio-init
+ resources:
+ limits:
+ cpu: "2"
+ memory: 1Gi
+ requests:
+ cpu: 10m
+ memory: 40Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ runAsNonRoot: false
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-02.yaml b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-02.yaml
new file mode 100644
index 000000000000..39cd3b611732
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/bad-pod-02.yaml
@@ -0,0 +1,38 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ run: test-pod
+ name: test-pod
+spec:
+ containers:
+ - image: nginx
+ name: test-pod
+ resources:
+ limits:
+ cpu: "2"
+ memory: 4Gi
+ requests:
+ cpu: 50m
+ memory: 256Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ initContainers:
+ - args:
+ - istio-iptables
+ env:
+ - name: TERMINATION_DRAIN_DURATION_SECONDS
+ value: "30"
+ image: some.registry/istio/proxyv2:1.18.7
+ imagePullPolicy: IfNotPresent
+ name: istio-init
+ resources:
+ limits:
+ cpu: "2"
+ memory: 1Gi
+ requests:
+ cpu: 10m
+ memory: 40Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ runAsNonRoot: true
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/chainsaw-test.yaml b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/chainsaw-test.yaml
new file mode 100755
index 000000000000..72643d2ba74e
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/chainsaw-test.yaml
@@ -0,0 +1,35 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: psa-run-as-non-root
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - apply:
+ file: exception.yaml
+ - name: step-03
+ try:
+ - script:
+ content: kubectl apply -f bad-pod-01.yaml
+ check:
+ ($error != null): true
+ (contains($stderr, 'spec.containers[0].securityContext.runAsNonRoot')): true
+ - name: step-04
+ try:
+ - script:
+ content: kubectl apply -f bad-pod-02.yaml
+ check:
+ ($error != null): true
+ (contains($stderr, 'spec.containers[0].securityContext.runAsNonRoot')): true
+ - name: step-05
+ try:
+ - apply:
+ file: good-pod.yaml
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/exception.yaml b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/exception.yaml
new file mode 100644
index 000000000000..db84c0ff8975
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/exception.yaml
@@ -0,0 +1,21 @@
+apiVersion: kyverno.io/v2
+kind: PolicyException
+metadata:
+ name: pod-security-exception
+spec:
+ exceptions:
+ - policyName: psp-restricted-limited
+ ruleNames:
+ - restricted
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ podSecurity:
+ - controlName: Running as Non-root
+ images:
+ - '*/istio/proxyv2*'
+ restrictedField: spec.initContainers[*].securityContext.runAsNonRoot
+ values:
+ - "false"
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/good-pod.yaml b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/good-pod.yaml
new file mode 100644
index 000000000000..16161d43d43e
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/good-pod.yaml
@@ -0,0 +1,40 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ run: test-pod
+ name: test-pod
+spec:
+ securityContext:
+ runAsNonRoot: true
+ containers:
+ - image: nginx
+ name: test-pod
+ resources:
+ limits:
+ cpu: "2"
+ memory: 4Gi
+ requests:
+ cpu: 50m
+ memory: 256Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ initContainers:
+ - args:
+ - istio-iptables
+ env:
+ - name: TERMINATION_DRAIN_DURATION_SECONDS
+ value: "30"
+ image: some.registry/istio/proxyv2:1.18.7
+ imagePullPolicy: IfNotPresent
+ name: istio-init
+ resources:
+ limits:
+ cpu: "2"
+ memory: 1Gi
+ requests:
+ cpu: 10m
+ memory: 40Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ runAsNonRoot: false
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy-assert.yaml b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy-assert.yaml
new file mode 100644
index 000000000000..e5855a5d4f9c
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy-assert.yaml
@@ -0,0 +1,9 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-restricted-limited
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
diff --git a/test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy.yaml b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy.yaml
new file mode 100644
index 000000000000..a8140c18c8ae
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/psa-run-as-non-root/policy.yaml
@@ -0,0 +1,31 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-restricted-limited
+ annotations:
+ pod-policies.kyverno.io/autogen-controllers: none
+spec:
+ background: true
+ validationFailureAction: Enforce
+ rules:
+ - name: restricted
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ namespaces:
+ - default
+ validate:
+ podSecurity:
+ level: restricted
+ version: v1.29
+ exclude:
+ - controlName: Volume Types
+ - controlName: Seccomp
+ - controlName: Seccomp
+ images:
+ - '*'
+ - controlName: Capabilities
+ images:
+ - "*"
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/README.md
new file mode 100644
index 000000000000..8ab7ec2d26c9
--- /dev/null
+++ b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/README.md
@@ -0,0 +1,30 @@
+## Description
+
+This test ensures that pods whose container don't set the `runAsNonRoot` field but init container sets the field to `false` are blocked by the `psa-run-as-non-root` policy with messages reporting both violations.
+
+## Expected Behavior
+
+1. Create a policy that applies the restricted profile.
+
+2. Create a pod with the following characteristics:
+ - The pod has an init container that sets the `runAsNonRoot` field to `false`.
+ - The pod has a container that doesn't set the `runAsNonRoot` field.
+
+ It is expected that the pod will be blocked with a message reporting both violations.
+
+3. Create a pod with the following characteristics:
+ - The pod has an init container that sets the `runAsNonRoot` field to `true`.
+ - The pod has a container that doesn't set the `runAsNonRoot` field.
+
+ It is expected that the pod will be blocked with a message reporting the violation of the container.
+
+4. Create a pod with the following characteristics:
+ - The pod has an init container that sets the `runAsNonRoot` field to `true`.
+ - The pod has a container that doesn't set the `runAsNonRoot` field.
+ - `runAsNonRoot` is set to `true` in the pod spec.
+
+ It is expected that the pod will be created successfully.
+
+## Reference Issue(s)
+
+#10581
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-01.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-01.yaml
new file mode 100644
index 000000000000..b0029e12bf0a
--- /dev/null
+++ b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-01.yaml
@@ -0,0 +1,39 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ run: test-pod
+ name: test-pod
+ namespace: default
+spec:
+ containers:
+ - image: nginx
+ name: test-pod
+ resources:
+ limits:
+ cpu: "2"
+ memory: 4Gi
+ requests:
+ cpu: 50m
+ memory: 256Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ initContainers:
+ - args:
+ - istio-iptables
+ env:
+ - name: TERMINATION_DRAIN_DURATION_SECONDS
+ value: "30"
+ image: some.registry/istio/proxyv2:1.18.7
+ imagePullPolicy: IfNotPresent
+ name: istio-init
+ resources:
+ limits:
+ cpu: "2"
+ memory: 1Gi
+ requests:
+ cpu: 10m
+ memory: 40Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ runAsNonRoot: false
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-02.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-02.yaml
new file mode 100644
index 000000000000..39cd3b611732
--- /dev/null
+++ b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/bad-pod-02.yaml
@@ -0,0 +1,38 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ run: test-pod
+ name: test-pod
+spec:
+ containers:
+ - image: nginx
+ name: test-pod
+ resources:
+ limits:
+ cpu: "2"
+ memory: 4Gi
+ requests:
+ cpu: 50m
+ memory: 256Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ initContainers:
+ - args:
+ - istio-iptables
+ env:
+ - name: TERMINATION_DRAIN_DURATION_SECONDS
+ value: "30"
+ image: some.registry/istio/proxyv2:1.18.7
+ imagePullPolicy: IfNotPresent
+ name: istio-init
+ resources:
+ limits:
+ cpu: "2"
+ memory: 1Gi
+ requests:
+ cpu: 10m
+ memory: 40Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ runAsNonRoot: true
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/chainsaw-test.yaml
new file mode 100755
index 000000000000..f93bf46a26c7
--- /dev/null
+++ b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/chainsaw-test.yaml
@@ -0,0 +1,32 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: psa-run-as-non-root
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - script:
+ content: kubectl apply -f bad-pod-01.yaml
+ check:
+ ($error != null): true
+ (contains($stderr, 'spec.initContainers[0].securityContext.runAsNonRoot')): true
+ (contains($stderr, 'spec.containers[0].securityContext.runAsNonRoot')): true
+ - name: step-03
+ try:
+ - script:
+ content: kubectl apply -f bad-pod-02.yaml
+ check:
+ ($error != null): true
+ (contains($stderr, 'spec.containers[0].securityContext.runAsNonRoot')): true
+ - name: step-04
+ try:
+ - apply:
+ file: good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/good-pod.yaml
new file mode 100644
index 000000000000..7a831200a093
--- /dev/null
+++ b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/good-pod.yaml
@@ -0,0 +1,40 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ run: test-pod
+ name: test-pod
+spec:
+ securityContext:
+ runAsNonRoot: true
+ containers:
+ - image: nginx
+ name: test-pod
+ resources:
+ limits:
+ cpu: "2"
+ memory: 4Gi
+ requests:
+ cpu: 50m
+ memory: 256Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ initContainers:
+ - args:
+ - istio-iptables
+ env:
+ - name: TERMINATION_DRAIN_DURATION_SECONDS
+ value: "30"
+ image: some.registry/istio/proxyv2:1.18.7
+ imagePullPolicy: IfNotPresent
+ name: istio-init
+ resources:
+ limits:
+ cpu: "2"
+ memory: 1Gi
+ requests:
+ cpu: 10m
+ memory: 40Mi
+ securityContext:
+ allowPrivilegeEscalation: false
+ runAsNonRoot: true
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy-assert.yaml
new file mode 100644
index 000000000000..e5855a5d4f9c
--- /dev/null
+++ b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy-assert.yaml
@@ -0,0 +1,9 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-restricted-limited
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy.yaml
new file mode 100644
index 000000000000..a8140c18c8ae
--- /dev/null
+++ b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/psa-run-as-non-root/policy.yaml
@@ -0,0 +1,31 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-restricted-limited
+ annotations:
+ pod-policies.kyverno.io/autogen-controllers: none
+spec:
+ background: true
+ validationFailureAction: Enforce
+ rules:
+ - name: restricted
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ namespaces:
+ - default
+ validate:
+ podSecurity:
+ level: restricted
+ version: v1.29
+ exclude:
+ - controlName: Volume Types
+ - controlName: Seccomp
+ - controlName: Seccomp
+ images:
+ - '*'
+ - controlName: Capabilities
+ images:
+ - "*"
From b0cef72df12c9de2312c4d59ec8bbbb9094d26a7 Mon Sep 17 00:00:00 2001
From: Mariam Fahmy
Date: Tue, 16 Jul 2024 18:06:58 +0300
Subject: [PATCH 09/44] feat: support exclude block in generating VAPs (#10215)
Signed-off-by: Mariam Fahmy
---
pkg/validatingadmissionpolicy/builder.go | 116 ++++++++++++----
.../kyvernopolicy_checker.go | 130 ++++++++++++------
.../kyvernopolicy_checker_test.go | 2 +-
.../chainsaw-test.yaml | 19 +++
.../policy-assert.yaml | 10 ++
.../policy.yaml | 8 +-
.../validatingadmissionpolicy.yaml | 41 ++++++
.../validatingadmissionpolicybinding.yaml | 15 ++
.../chainsaw-test.yaml | 19 +++
.../policy-assert.yaml | 10 ++
.../policy.yaml | 35 +++++
.../validatingadmissionpolicy.yaml | 43 ++++++
.../validatingadmissionpolicybinding.yaml | 15 ++
.../chainsaw-test.yaml | 19 +++
.../policy-assert.yaml | 10 ++
.../policy.yaml | 35 +++++
.../validatingadmissionpolicy.yaml | 43 ++++++
.../validatingadmissionpolicybinding.yaml | 15 ++
.../chainsaw-test.yaml | 19 +++
.../policy-assert.yaml | 10 ++
.../cpol-any-exclude-resource/policy.yaml | 35 +++++
.../validatingadmissionpolicy.yaml | 43 ++++++
.../validatingadmissionpolicybinding.yaml | 15 ++
.../chainsaw-test.yaml | 19 +++
.../policy-assert.yaml | 10 ++
.../cpol-match-all-exclude-one/policy.yaml | 30 ++++
.../validatingadmissionpolicy.yaml | 41 ++++++
.../validatingadmissionpolicybinding.yaml | 15 ++
.../chainsaw-test.yaml | 19 +++
.../policy-assert.yaml | 12 ++
.../policy.yaml | 33 +++++
.../validatingadmissionpolicy.yaml | 7 +
.../validatingadmissionpolicybinding.yaml | 7 +
.../chainsaw-test.yaml | 19 +++
.../policy-assert.yaml | 0
.../policy.yaml | 36 +++++
.../validatingadmissionpolicy.yaml | 0
.../validatingadmissionpolicybinding.yaml | 0
.../chainsaw-test.yaml | 2 +-
.../policy-assert.yaml | 0
.../policy.yaml | 7 +-
.../validatingadmissionpolicy.yaml | 0
.../validatingadmissionpolicybinding.yaml | 0
.../chainsaw-test.yaml | 2 +-
.../policy-assert.yaml | 12 ++
.../cpol-exclude-user-and-roles/policy.yaml | 25 ++++
.../validatingadmissionpolicy.yaml | 7 +
.../validatingadmissionpolicybinding.yaml | 7 +
48 files changed, 939 insertions(+), 78 deletions(-)
create mode 100755 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/policy-assert.yaml
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/{skip-generate/cpol-exclude => generate/cpol-any-exclude-namespace-match-resource}/policy.yaml (83%)
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicybinding.yaml
create mode 100755 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicybinding.yaml
create mode 100755 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicybinding.yaml
create mode 100755 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicybinding.yaml
create mode 100755 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicybinding.yaml
create mode 100755 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicybinding.yaml
create mode 100755 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/chainsaw-test.yaml
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude => cpol-exclude-resources-with-namespace-selector}/policy-assert.yaml (100%)
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/policy.yaml
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude => cpol-exclude-resources-with-namespace-selector}/validatingadmissionpolicy.yaml (100%)
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude => cpol-exclude-resources-with-namespace-selector}/validatingadmissionpolicybinding.yaml (100%)
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude => cpol-exclude-resources-with-object-selector}/chainsaw-test.yaml (87%)
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude-namespace => cpol-exclude-resources-with-object-selector}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude-namespace => cpol-exclude-resources-with-object-selector}/policy.yaml (77%)
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude-namespace => cpol-exclude-resources-with-object-selector}/validatingadmissionpolicy.yaml (100%)
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude-namespace => cpol-exclude-resources-with-object-selector}/validatingadmissionpolicybinding.yaml (100%)
rename test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/{cpol-exclude-namespace => cpol-exclude-user-and-roles}/chainsaw-test.yaml (91%)
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicy.yaml
create mode 100644 test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicybinding.yaml
diff --git a/pkg/validatingadmissionpolicy/builder.go b/pkg/validatingadmissionpolicy/builder.go
index 9a1619680929..8ae2e5b4c4c1 100644
--- a/pkg/validatingadmissionpolicy/builder.go
+++ b/pkg/validatingadmissionpolicy/builder.go
@@ -14,7 +14,11 @@ import (
)
// BuildValidatingAdmissionPolicy is used to build a Kubernetes ValidatingAdmissionPolicy from a Kyverno policy
-func BuildValidatingAdmissionPolicy(discoveryClient dclient.IDiscovery, vap *admissionregistrationv1alpha1.ValidatingAdmissionPolicy, cpol kyvernov1.PolicyInterface) error {
+func BuildValidatingAdmissionPolicy(
+ discoveryClient dclient.IDiscovery,
+ vap *admissionregistrationv1alpha1.ValidatingAdmissionPolicy,
+ cpol kyvernov1.PolicyInterface,
+) error {
// set owner reference
vap.OwnerReferences = []metav1.OwnerReference{
{
@@ -25,30 +29,51 @@ func BuildValidatingAdmissionPolicy(discoveryClient dclient.IDiscovery, vap *adm
},
}
- // construct validating admission policy resource rules
+ // construct the rules
var matchResources admissionregistrationv1alpha1.MatchResources
- var matchRules []admissionregistrationv1alpha1.NamedRuleWithOperations
+ var matchRules, excludeRules []admissionregistrationv1alpha1.NamedRuleWithOperations
rule := cpol.GetSpec().Rules[0]
+
+ // convert the match block
match := rule.MatchResources
if !match.ResourceDescription.IsEmpty() {
- if err := translateResource(discoveryClient, &matchResources, &matchRules, match.ResourceDescription); err != nil {
+ if err := translateResource(discoveryClient, &matchResources, &matchRules, match.ResourceDescription, true); err != nil {
return err
}
}
if match.Any != nil {
- if err := translateResourceFilters(discoveryClient, &matchResources, &matchRules, match.Any); err != nil {
+ if err := translateResourceFilters(discoveryClient, &matchResources, &matchRules, match.Any, true); err != nil {
return err
}
}
if match.All != nil {
- if err := translateResourceFilters(discoveryClient, &matchResources, &matchRules, match.All); err != nil {
+ if err := translateResourceFilters(discoveryClient, &matchResources, &matchRules, match.All, true); err != nil {
+ return err
+ }
+ }
+
+ // convert the exclude block
+ exclude := rule.ExcludeResources
+ if !exclude.ResourceDescription.IsEmpty() {
+ if err := translateResource(discoveryClient, &matchResources, &excludeRules, exclude.ResourceDescription, false); err != nil {
+ return err
+ }
+ }
+
+ if exclude.Any != nil {
+ if err := translateResourceFilters(discoveryClient, &matchResources, &excludeRules, exclude.Any, false); err != nil {
+ return err
+ }
+ }
+ if exclude.All != nil {
+ if err := translateResourceFilters(discoveryClient, &matchResources, &excludeRules, exclude.All, false); err != nil {
return err
}
}
- // set validating admission policy spec
+ // set policy spec
vap.Spec = admissionregistrationv1alpha1.ValidatingAdmissionPolicySpec{
MatchConstraints: &matchResources,
ParamKind: rule.Validation.CEL.ParamKind,
@@ -64,7 +89,10 @@ func BuildValidatingAdmissionPolicy(discoveryClient dclient.IDiscovery, vap *adm
}
// BuildValidatingAdmissionPolicyBinding is used to build a Kubernetes ValidatingAdmissionPolicyBinding from a Kyverno policy
-func BuildValidatingAdmissionPolicyBinding(vapbinding *admissionregistrationv1alpha1.ValidatingAdmissionPolicyBinding, cpol kyvernov1.PolicyInterface) error {
+func BuildValidatingAdmissionPolicyBinding(
+ vapbinding *admissionregistrationv1alpha1.ValidatingAdmissionPolicyBinding,
+ cpol kyvernov1.PolicyInterface,
+) error {
// set owner reference
vapbinding.OwnerReferences = []metav1.OwnerReference{
{
@@ -98,9 +126,14 @@ func BuildValidatingAdmissionPolicyBinding(vapbinding *admissionregistrationv1al
return nil
}
-func translateResourceFilters(discoveryClient dclient.IDiscovery, matchResources *admissionregistrationv1alpha1.MatchResources, rules *[]admissionregistrationv1alpha1.NamedRuleWithOperations, resFilters kyvernov1.ResourceFilters) error {
+func translateResourceFilters(discoveryClient dclient.IDiscovery,
+ matchResources *admissionregistrationv1alpha1.MatchResources,
+ rules *[]admissionregistrationv1alpha1.NamedRuleWithOperations,
+ resFilters kyvernov1.ResourceFilters,
+ isMatch bool,
+) error {
for _, filter := range resFilters {
- err := translateResource(discoveryClient, matchResources, rules, filter.ResourceDescription)
+ err := translateResource(discoveryClient, matchResources, rules, filter.ResourceDescription, isMatch)
if err != nil {
return err
}
@@ -108,32 +141,47 @@ func translateResourceFilters(discoveryClient dclient.IDiscovery, matchResources
return nil
}
-func translateResource(discoveryClient dclient.IDiscovery, matchResources *admissionregistrationv1alpha1.MatchResources, rules *[]admissionregistrationv1alpha1.NamedRuleWithOperations, res kyvernov1.ResourceDescription) error {
- err := constructValidatingAdmissionPolicyRules(discoveryClient, rules, res)
+func translateResource(
+ discoveryClient dclient.IDiscovery,
+ matchResources *admissionregistrationv1alpha1.MatchResources,
+ rules *[]admissionregistrationv1alpha1.NamedRuleWithOperations,
+ res kyvernov1.ResourceDescription,
+ isMatch bool,
+) error {
+ err := constructValidatingAdmissionPolicyRules(discoveryClient, rules, res, isMatch)
if err != nil {
return err
}
- matchResources.ResourceRules = *rules
- if len(res.Namespaces) > 0 {
- namespaceSelector := &metav1.LabelSelector{
- MatchExpressions: []metav1.LabelSelectorRequirement{
- {
- Key: "kubernetes.io/metadata.name",
- Operator: "In",
- Values: res.Namespaces,
+ if isMatch {
+ matchResources.ResourceRules = *rules
+ if len(res.Namespaces) > 0 {
+ namespaceSelector := &metav1.LabelSelector{
+ MatchExpressions: []metav1.LabelSelectorRequirement{
+ {
+ Key: "kubernetes.io/metadata.name",
+ Operator: "In",
+ Values: res.Namespaces,
+ },
},
- },
+ }
+ matchResources.NamespaceSelector = namespaceSelector
+ } else {
+ matchResources.NamespaceSelector = res.NamespaceSelector
}
- matchResources.NamespaceSelector = namespaceSelector
+ matchResources.ObjectSelector = res.Selector
} else {
- matchResources.NamespaceSelector = res.NamespaceSelector
+ matchResources.ExcludeResourceRules = *rules
}
- matchResources.ObjectSelector = res.Selector
return nil
}
-func constructValidatingAdmissionPolicyRules(discoveryClient dclient.IDiscovery, rules *[]admissionregistrationv1alpha1.NamedRuleWithOperations, res kyvernov1.ResourceDescription) error {
+func constructValidatingAdmissionPolicyRules(
+ discoveryClient dclient.IDiscovery,
+ rules *[]admissionregistrationv1alpha1.NamedRuleWithOperations,
+ res kyvernov1.ResourceDescription,
+ isMatch bool,
+) error {
// translate operations to their corresponding values in validating admission policy.
ops := translateOperations(res.GetOperations())
@@ -191,6 +239,22 @@ func constructValidatingAdmissionPolicyRules(discoveryClient dclient.IDiscovery,
}
}
}
+
+ // if exclude block has namespaces but no kinds, we need to add a rule for the namespaces
+ if !isMatch && len(res.Namespaces) > 0 && len(res.Kinds) == 0 {
+ r := admissionregistrationv1alpha1.NamedRuleWithOperations{
+ ResourceNames: res.Namespaces,
+ RuleWithOperations: admissionregistrationv1.RuleWithOperations{
+ Rule: admissionregistrationv1.Rule{
+ Resources: []string{"namespaces"},
+ APIGroups: []string{""},
+ APIVersions: []string{"v1"},
+ },
+ Operations: ops,
+ },
+ }
+ *rules = append(*rules, r)
+ }
return nil
}
@@ -227,7 +291,7 @@ func translateOperations(operations []string) []admissionregistrationv1.Operatio
}
}
- // set default values for operations since it's a required field in validating admission policies
+ // set default values for operations since it's a required field in ValidatingAdmissionPolicies
if len(vapOperations) == 0 {
vapOperations = append(vapOperations, admissionregistrationv1.Create)
vapOperations = append(vapOperations, admissionregistrationv1.Update)
diff --git a/pkg/validatingadmissionpolicy/kyvernopolicy_checker.go b/pkg/validatingadmissionpolicy/kyvernopolicy_checker.go
index 4d482c34ce0c..cbaa38eb3bbd 100644
--- a/pkg/validatingadmissionpolicy/kyvernopolicy_checker.go
+++ b/pkg/validatingadmissionpolicy/kyvernopolicy_checker.go
@@ -8,14 +8,12 @@ import (
// CanGenerateVAP check if Kyverno policy can be translated to a Kubernetes ValidatingAdmissionPolicy
func CanGenerateVAP(spec *kyvernov1.Spec) (bool, string) {
var msg string
- if len(spec.Rules) > 1 {
- msg = "skip generating ValidatingAdmissionPolicy: multiple rules are not applicable."
+ if ok, msg := checkRuleCount(spec); !ok {
return false, msg
}
rule := spec.Rules[0]
- if !rule.HasValidateCEL() {
- msg = "skip generating ValidatingAdmissionPolicy for non CEL rules."
+ if ok, msg := checkRuleType(rule); !ok {
return false, msg
}
@@ -32,65 +30,74 @@ func CanGenerateVAP(spec *kyvernov1.Spec) (bool, string) {
// check the matched/excluded resources of the CEL rule.
match, exclude := rule.MatchResources, rule.ExcludeResources
- if !exclude.UserInfo.IsEmpty() || !exclude.ResourceDescription.IsEmpty() || exclude.All != nil || exclude.Any != nil {
- msg = "skip generating ValidatingAdmissionPolicy: Exclude is not applicable."
+ if ok, msg := checkUserInfo(match.UserInfo); !ok {
return false, msg
}
- if ok, msg := checkUserInfo(match.UserInfo); !ok {
+ if ok, msg := checkUserInfo(exclude.UserInfo); !ok {
return false, msg
}
- if ok, msg := checkResources(match.ResourceDescription); !ok {
+
+ if ok, msg := checkResources(match.ResourceDescription, true); !ok {
+ return false, msg
+ }
+ if ok, msg := checkResources(exclude.ResourceDescription, false); !ok {
return false, msg
}
- var (
- containsNamespaceSelector = false
- containsObjectSelector = false
- )
+ if ok, msg := checkResourceFilter(match.Any, true); !ok {
+ return false, msg
+ }
- // since 'any' specify resources which will be ORed, it can be converted into multiple NamedRuleWithOperations in ValidatingAdmissionPolicy
- for _, value := range match.Any {
- if ok, msg := checkUserInfo(value.UserInfo); !ok {
- return false, msg
- }
- if ok, msg := checkResources(value.ResourceDescription); !ok {
- return false, msg
- }
+ if len(match.All) > 1 {
+ msg = "skip generating ValidatingAdmissionPolicy: multiple 'all' in the match block is not applicable."
+ return false, msg
+ }
+ if ok, msg := checkResourceFilter(match.All, true); !ok {
+ return false, msg
+ }
- if value.NamespaceSelector != nil {
- containsNamespaceSelector = true
- }
- if value.Selector != nil {
- containsObjectSelector = true
- }
+ if ok, msg := checkResourceFilter(exclude.Any, false); !ok {
+ return false, msg
+ }
+
+ if len(exclude.All) > 1 {
+ msg = "skip generating ValidatingAdmissionPolicy: multiple 'all' in the exclude block is not applicable."
+ return false, msg
}
- // since namespace/object selectors are applied to all NamedRuleWithOperations in ValidatingAdmissionPolicy, then
- // we can't have more than one resource with namespace/object selectors.
- if len(match.Any) > 1 && (containsNamespaceSelector || containsObjectSelector) {
- msg = "skip generating ValidatingAdmissionPolicy: NamespaceSelector / ObjectSelector across multiple resources are not applicable."
+ if ok, msg := checkResourceFilter(exclude.All, false); !ok {
return false, msg
}
- // since 'all' specify resources which will be ANDed, we can't have more than one resource.
- if match.All != nil {
- if len(match.All) > 1 {
- msg = "skip generating ValidatingAdmissionPolicy: multiple 'all' is not applicable."
- return false, msg
- } else {
- if ok, msg := checkUserInfo(match.All[0].UserInfo); !ok {
- return false, msg
- }
- if ok, msg := checkResources(match.All[0].ResourceDescription); !ok {
- return false, msg
- }
- }
+ return true, msg
+}
+
+func checkRuleCount(spec *kyvernov1.Spec) (bool, string) {
+ var msg string
+ if len(spec.Rules) > 1 {
+ msg = "skip generating ValidatingAdmissionPolicy: multiple rules are not applicable."
+ return false, msg
}
+ return true, msg
+}
+func checkRuleType(rule kyvernov1.Rule) (bool, string) {
+ var msg string
+ if !rule.HasValidateCEL() {
+ msg = "skip generating ValidatingAdmissionPolicy for non CEL rules."
+ return false, msg
+ }
return true, msg
}
-func checkResources(resource kyvernov1.ResourceDescription) (bool, string) {
+func checkResources(resource kyvernov1.ResourceDescription, isMatch bool) (bool, string) {
var msg string
+ if !isMatch {
+ if len(resource.Kinds) != 0 && len(resource.Namespaces) != 0 {
+ msg = "skip generating ValidatingAdmissionPolicy: excluding a resource within a namespace is not applicable."
+ return false, msg
+ }
+ }
+
if len(resource.Annotations) != 0 {
msg = "skip generating ValidatingAdmissionPolicy: Annotations in resource description is not applicable."
return false, msg
@@ -122,3 +129,38 @@ func checkUserInfo(info kyvernov1.UserInfo) (bool, string) {
}
return true, msg
}
+
+func checkResourceFilter(resFilters kyvernov1.ResourceFilters, isMatch bool) (bool, string) {
+ var msg string
+ containsNamespaceSelector := false
+ containsObjectSelector := false
+
+ for _, value := range resFilters {
+ if ok, msg := checkUserInfo(value.UserInfo); !ok {
+ return false, msg
+ }
+ if ok, msg := checkResources(value.ResourceDescription, isMatch); !ok {
+ return false, msg
+ }
+
+ if value.NamespaceSelector != nil {
+ containsNamespaceSelector = true
+ }
+ if value.Selector != nil {
+ containsObjectSelector = true
+ }
+ }
+
+ if !isMatch {
+ if containsNamespaceSelector || containsObjectSelector {
+ msg = "skip generating ValidatingAdmissionPolicy: NamespaceSelector / ObjectSelector in the exclude block is not applicable."
+ return false, msg
+ }
+ } else {
+ if len(resFilters) > 1 && (containsNamespaceSelector || containsObjectSelector) {
+ return false, "skip generating ValidatingAdmissionPolicy: NamespaceSelector / ObjectSelector across multiple resources in the match block are not applicable."
+ }
+ }
+
+ return true, msg
+}
diff --git a/pkg/validatingadmissionpolicy/kyvernopolicy_checker_test.go b/pkg/validatingadmissionpolicy/kyvernopolicy_checker_test.go
index 6b1c63c7c53d..b024fdae18a9 100644
--- a/pkg/validatingadmissionpolicy/kyvernopolicy_checker_test.go
+++ b/pkg/validatingadmissionpolicy/kyvernopolicy_checker_test.go
@@ -131,7 +131,7 @@ func Test_Check_Resources(t *testing.T) {
var res kyvernov1.ResourceDescription
err := json.Unmarshal(test.resource, &res)
assert.NilError(t, err)
- out, _ := checkResources(res)
+ out, _ := checkResources(res, true)
assert.Equal(t, out, test.expected)
})
}
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/chainsaw-test.yaml
new file mode 100755
index 000000000000..893004702550
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/chainsaw-test.yaml
@@ -0,0 +1,19 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: cpol-any-exclude-namespace-match-resource
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - assert:
+ file: validatingadmissionpolicy.yaml
+ - assert:
+ file: validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/policy-assert.yaml
new file mode 100644
index 000000000000..9fa3bfcebca3
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/policy-assert.yaml
@@ -0,0 +1,10 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t16
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
+
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/policy.yaml
similarity index 83%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/policy.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/policy.yaml
index 4fc7d33ef698..3d20b85f7968 100644
--- a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/policy.yaml
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/policy.yaml
@@ -1,7 +1,7 @@
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
- name: disallow-host-path-t10
+ name: disallow-host-path-t16
spec:
validationFailureAction: Audit
background: false
@@ -17,8 +17,10 @@ spec:
- UPDATE
exclude:
any:
- - clusterRoles:
- - cluster-admin
+ - resources:
+ namespaces:
+ - testing-ns
+ - staging-ns
validate:
cel:
expressions:
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicy.yaml
new file mode 100644
index 000000000000..ff6bd06c977e
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicy.yaml
@@ -0,0 +1,41 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicy
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t16
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t16
+spec:
+ failurePolicy: Fail
+ matchConstraints:
+ excludeResourceRules:
+ - apiGroups:
+ - ""
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resourceNames:
+ - testing-ns
+ - staging-ns
+ resources:
+ - namespaces
+ resourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resources:
+ - deployments
+ validations:
+ - expression: '!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume,
+ !has(volume.hostPath))'
+ message: HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath
+ must be unset.
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicybinding.yaml
new file mode 100644
index 000000000000..cd6a1c5cfe82
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-namespace-match-resource/validatingadmissionpolicybinding.yaml
@@ -0,0 +1,15 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicyBinding
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t16-binding
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t16
+spec:
+ policyName: disallow-host-path-t16
+ validationActions:
+ - Audit
+ - Warn
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/chainsaw-test.yaml
new file mode 100755
index 000000000000..26b0a4ec9dca
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/chainsaw-test.yaml
@@ -0,0 +1,19 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: cpol-any-exclude-resource-match-with-namespace-selector
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - assert:
+ file: validatingadmissionpolicy.yaml
+ - assert:
+ file: validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy-assert.yaml
new file mode 100644
index 000000000000..ae2648855904
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy-assert.yaml
@@ -0,0 +1,10 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t14
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
+
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy.yaml
new file mode 100644
index 000000000000..97904eed4b2b
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/policy.yaml
@@ -0,0 +1,35 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t14
+spec:
+ validationFailureAction: Audit
+ background: false
+ rules:
+ - name: host-path
+ match:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ namespaceSelector:
+ matchLabels:
+ app: critical
+ exclude:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ names:
+ - "testing"
+ validate:
+ cel:
+ expressions:
+ - expression: "!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume, !has(volume.hostPath))"
+ message: "HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath must be unset."
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicy.yaml
new file mode 100644
index 000000000000..ee3b71964492
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicy.yaml
@@ -0,0 +1,43 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicy
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t14
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t14
+spec:
+ failurePolicy: Fail
+ matchConstraints:
+ excludeResourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resourceNames:
+ - testing
+ resources:
+ - deployments
+ namespaceSelector:
+ matchLabels:
+ app: critical
+ resourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resources:
+ - deployments
+ validations:
+ - expression: '!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume,
+ !has(volume.hostPath))'
+ message: HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath
+ must be unset.
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicybinding.yaml
new file mode 100644
index 000000000000..68b1530a0025
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-namespace-selector/validatingadmissionpolicybinding.yaml
@@ -0,0 +1,15 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicyBinding
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t14-binding
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t14
+spec:
+ policyName: disallow-host-path-t14
+ validationActions:
+ - Audit
+ - Warn
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/chainsaw-test.yaml
new file mode 100755
index 000000000000..52dd315eff86
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/chainsaw-test.yaml
@@ -0,0 +1,19 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: cpol-any-exclude-resource-match-with-object-selector
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - assert:
+ file: validatingadmissionpolicy.yaml
+ - assert:
+ file: validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy-assert.yaml
new file mode 100644
index 000000000000..ef00059ee37c
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy-assert.yaml
@@ -0,0 +1,10 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t15
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
+
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy.yaml
new file mode 100644
index 000000000000..893891a1dd06
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/policy.yaml
@@ -0,0 +1,35 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t15
+spec:
+ validationFailureAction: Audit
+ background: false
+ rules:
+ - name: host-path
+ match:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ selector:
+ matchLabels:
+ app: critical
+ exclude:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ names:
+ - "testing"
+ validate:
+ cel:
+ expressions:
+ - expression: "!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume, !has(volume.hostPath))"
+ message: "HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath must be unset."
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicy.yaml
new file mode 100644
index 000000000000..ff95f39ec058
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicy.yaml
@@ -0,0 +1,43 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicy
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t15
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t15
+spec:
+ failurePolicy: Fail
+ matchConstraints:
+ excludeResourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resourceNames:
+ - testing
+ resources:
+ - deployments
+ objectSelector:
+ matchLabels:
+ app: critical
+ resourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resources:
+ - deployments
+ validations:
+ - expression: '!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume,
+ !has(volume.hostPath))'
+ message: HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath
+ must be unset.
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicybinding.yaml
new file mode 100644
index 000000000000..91425be107d5
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource-match-with-object-selector/validatingadmissionpolicybinding.yaml
@@ -0,0 +1,15 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicyBinding
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t15-binding
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t15
+spec:
+ policyName: disallow-host-path-t15
+ validationActions:
+ - Audit
+ - Warn
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/chainsaw-test.yaml
new file mode 100755
index 000000000000..e000eb8680f1
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/chainsaw-test.yaml
@@ -0,0 +1,19 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: cpol-any-exclude-resource
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - assert:
+ file: validatingadmissionpolicy.yaml
+ - assert:
+ file: validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy-assert.yaml
new file mode 100644
index 000000000000..a1336840e0e8
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy-assert.yaml
@@ -0,0 +1,10 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t13
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
+
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy.yaml
new file mode 100644
index 000000000000..1c7b71926ec7
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/policy.yaml
@@ -0,0 +1,35 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t13
+spec:
+ validationFailureAction: Audit
+ background: false
+ rules:
+ - name: host-path
+ match:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ - StatefulSet
+ - ReplicaSet
+ - DaemonSet
+ operations:
+ - CREATE
+ - UPDATE
+ exclude:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ names:
+ - "testing"
+ validate:
+ cel:
+ expressions:
+ - expression: "!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume, !has(volume.hostPath))"
+ message: "HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath must be unset."
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicy.yaml
new file mode 100644
index 000000000000..3fff6855ff68
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicy.yaml
@@ -0,0 +1,43 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicy
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t13
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t13
+spec:
+ failurePolicy: Fail
+ matchConstraints:
+ excludeResourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resourceNames:
+ - testing
+ resources:
+ - deployments
+ resourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ - UPDATE
+ resources:
+ - deployments
+ - statefulsets
+ - replicasets
+ - daemonsets
+ validations:
+ - expression: '!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume,
+ !has(volume.hostPath))'
+ message: HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath
+ must be unset.
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicybinding.yaml
new file mode 100644
index 000000000000..ee724d9083d3
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-any-exclude-resource/validatingadmissionpolicybinding.yaml
@@ -0,0 +1,15 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicyBinding
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t13-binding
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: disallow-host-path-t13
+spec:
+ policyName: disallow-host-path-t13
+ validationActions:
+ - Audit
+ - Warn
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/chainsaw-test.yaml
new file mode 100755
index 000000000000..46411c7d3f8a
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/chainsaw-test.yaml
@@ -0,0 +1,19 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: cpol-match-kind-with-wildcard
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - assert:
+ file: validatingadmissionpolicy.yaml
+ - assert:
+ file: validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy-assert.yaml
new file mode 100644
index 000000000000..1832ab5a1d8c
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy-assert.yaml
@@ -0,0 +1,10 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: check-label-app5
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
+
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy.yaml
new file mode 100644
index 000000000000..cae60e95935e
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/policy.yaml
@@ -0,0 +1,30 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: check-label-app5
+spec:
+ validationFailureAction: Audit
+ background: false
+ rules:
+ - name: check-label-app
+ match:
+ all:
+ - resources:
+ kinds:
+ - '*'
+ operations:
+ - CREATE
+ namespaces:
+ - production
+ - staging
+ exclude:
+ all:
+ - resources:
+ kinds:
+ - "Deployment"
+ operations:
+ - CREATE
+ validate:
+ cel:
+ expressions:
+ - expression: "'app' in object.metadata.labels"
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicy.yaml
new file mode 100644
index 000000000000..86a4d5c2989a
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicy.yaml
@@ -0,0 +1,41 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicy
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: check-label-app5
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: check-label-app5
+spec:
+ failurePolicy: Fail
+ matchConstraints:
+ excludeResourceRules:
+ - apiGroups:
+ - apps
+ apiVersions:
+ - v1
+ operations:
+ - CREATE
+ resources:
+ - deployments
+ namespaceSelector:
+ matchExpressions:
+ - key: kubernetes.io/metadata.name
+ operator: In
+ values:
+ - production
+ - staging
+ resourceRules:
+ - apiGroups:
+ - '*'
+ apiVersions:
+ - '*'
+ operations:
+ - CREATE
+ resources:
+ - '*'
+ scope: '*'
+ validations:
+ - expression: '''app'' in object.metadata.labels'
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicybinding.yaml
new file mode 100644
index 000000000000..6cf61b5a0f4f
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/generate/cpol-match-all-exclude-one/validatingadmissionpolicybinding.yaml
@@ -0,0 +1,15 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicyBinding
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: check-label-app5-binding
+ ownerReferences:
+ - apiVersion: kyverno.io/v1
+ kind: ClusterPolicy
+ name: check-label-app5
+spec:
+ policyName: check-label-app5
+ validationActions:
+ - Audit
+ - Warn
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/chainsaw-test.yaml
new file mode 100755
index 000000000000..664c4cab7550
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/chainsaw-test.yaml
@@ -0,0 +1,19 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: cpol-exclude-resources-in-specific-namespace
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - error:
+ file: validatingadmissionpolicy.yaml
+ - error:
+ file: validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy-assert.yaml
new file mode 100644
index 000000000000..7532997b0a79
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy-assert.yaml
@@ -0,0 +1,12 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t17
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
+ validatingadmissionpolicy:
+ generated: false
+
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy.yaml
new file mode 100644
index 000000000000..3628adb12053
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/policy.yaml
@@ -0,0 +1,33 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t17
+spec:
+ validationFailureAction: Audit
+ background: false
+ rules:
+ - name: host-path
+ match:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ exclude:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ namespaces:
+ - testing-ns
+ - staging-ns
+ validate:
+ cel:
+ expressions:
+ - expression: "!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume, !has(volume.hostPath))"
+ message: "HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath must be unset."
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicy.yaml
new file mode 100644
index 000000000000..562fc2293e5c
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicy.yaml
@@ -0,0 +1,7 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicy
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t17
+spec: {}
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicybinding.yaml
new file mode 100644
index 000000000000..27c0bdbf09e5
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-in-specific-namespace/validatingadmissionpolicybinding.yaml
@@ -0,0 +1,7 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicyBinding
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: disallow-host-path-t17-binding
+spec: {}
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/chainsaw-test.yaml
new file mode 100755
index 000000000000..c0ab0cea450d
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/chainsaw-test.yaml
@@ -0,0 +1,19 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: cpol-exclude-resources-with-namespace-selector
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - error:
+ file: validatingadmissionpolicy.yaml
+ - error:
+ file: validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/policy-assert.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/policy-assert.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/policy.yaml
new file mode 100644
index 000000000000..e1b5129be21e
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/policy.yaml
@@ -0,0 +1,36 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: disallow-host-path-t10
+spec:
+ validationFailureAction: Audit
+ background: false
+ rules:
+ - name: host-path
+ match:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ exclude:
+ any:
+ - resources:
+ kinds:
+ - Deployment
+ operations:
+ - CREATE
+ - UPDATE
+ namespaceSelector:
+ matchExpressions:
+ - key: type
+ operator: In
+ values:
+ - connector
+ validate:
+ cel:
+ expressions:
+ - expression: "!has(object.spec.template.spec.volumes) || object.spec.template.spec.volumes.all(volume, !has(volume.hostPath))"
+ message: "HostPath volumes are forbidden. The field spec.template.spec.volumes[*].hostPath must be unset."
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/validatingadmissionpolicy.yaml
similarity index 100%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/validatingadmissionpolicy.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/validatingadmissionpolicy.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/validatingadmissionpolicybinding.yaml
similarity index 100%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/validatingadmissionpolicybinding.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-namespace-selector/validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/chainsaw-test.yaml
similarity index 87%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/chainsaw-test.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/chainsaw-test.yaml
index 4f0057848f62..129dde192b6a 100755
--- a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude/chainsaw-test.yaml
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/chainsaw-test.yaml
@@ -2,7 +2,7 @@ apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
creationTimestamp: null
- name: cpol-exclude
+ name: cpol-exclude-resources-with-object-selector
spec:
steps:
- name: step-01
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/policy-assert.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/policy-assert.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/policy.yaml
similarity index 77%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/policy.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/policy.yaml
index ee95434c316c..5c3c08affda5 100644
--- a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/policy.yaml
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/policy.yaml
@@ -14,8 +14,11 @@ spec:
exclude:
any:
- resources:
- namespaces:
- - default
+ kinds:
+ - Pod
+ selector:
+ matchLabels:
+ app: critical
validate:
cel:
expressions:
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/validatingadmissionpolicy.yaml
similarity index 100%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/validatingadmissionpolicy.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/validatingadmissionpolicy.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/validatingadmissionpolicybinding.yaml
similarity index 100%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/validatingadmissionpolicybinding.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-resources-with-object-selector/validatingadmissionpolicybinding.yaml
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/chainsaw-test.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/chainsaw-test.yaml
similarity index 91%
rename from test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/chainsaw-test.yaml
rename to test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/chainsaw-test.yaml
index d8997f4fb2e0..a909c7d5ebb2 100755
--- a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-namespace/chainsaw-test.yaml
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/chainsaw-test.yaml
@@ -2,7 +2,7 @@ apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
creationTimestamp: null
- name: cpol-exclude-namespace
+ name: cpol-exclude-user-and-roles
spec:
steps:
- name: step-01
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy-assert.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy-assert.yaml
new file mode 100644
index 000000000000..648f5587c55e
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy-assert.yaml
@@ -0,0 +1,12 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: check-label-app1
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
+ validatingadmissionpolicy:
+ generated: false
+
\ No newline at end of file
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy.yaml
new file mode 100644
index 000000000000..e477a4381ec1
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/policy.yaml
@@ -0,0 +1,25 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: check-label-app1
+spec:
+ validationFailureAction: Audit
+ background: false
+ rules:
+ - name: check-label-app
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ exclude:
+ any:
+ - clusterRoles:
+ - cluster-admin
+ - subjects:
+ - kind: User
+ name: John
+ validate:
+ cel:
+ expressions:
+ - expression: "'app' in object.metadata.labels"
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicy.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicy.yaml
new file mode 100644
index 000000000000..46b0d1dcff65
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicy.yaml
@@ -0,0 +1,7 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicy
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: check-label-app1
+spec: {}
diff --git a/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicybinding.yaml b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicybinding.yaml
new file mode 100644
index 000000000000..11cc784ea350
--- /dev/null
+++ b/test/conformance/chainsaw/generate-validating-admission-policy/clusterpolicy/standard/skip-generate/cpol-exclude-user-and-roles/validatingadmissionpolicybinding.yaml
@@ -0,0 +1,7 @@
+apiVersion: admissionregistration.k8s.io/v1alpha1
+kind: ValidatingAdmissionPolicyBinding
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ name: check-label-app1-binding
+spec: {}
From f3c9be9d0f703c54dd40759db392bad2aca66958 Mon Sep 17 00:00:00 2001
From: Mariam Fahmy
Date: Wed, 17 Jul 2024 07:52:38 +0300
Subject: [PATCH 10/44] chore: rename deprecated chainsaw tests (#10668)
Signed-off-by: Mariam Fahmy
---
.../{fail(deprecated) => fail-deprecated}/README.md | 0
.../{fail(deprecated) => fail-deprecated}/chainsaw-test.yaml | 0
.../{fail(deprecated) => fail-deprecated}/policy-assert.yaml | 0
.../{fail(deprecated) => fail-deprecated}/policy.yaml | 0
.../{fail(deprecated) => fail-deprecated}/webhooks-assert.yaml | 0
.../README.md | 0
.../chainsaw-step-01-apply-1-1.yaml | 0
.../chainsaw-step-01-assert-1-1.yaml | 0
.../chainsaw-step-02-apply-1-1.yaml | 0
.../chainsaw-step-02-apply-1-2.yaml | 0
.../chainsaw-step-02-apply-1-3.yaml | 0
.../chainsaw-step-02-apply-1-4.yaml | 0
.../chainsaw-step-02-apply-1-5.yaml | 0
.../chainsaw-step-02-assert-1-1.yaml | 0
.../chainsaw-step-02-assert-1-2.yaml | 0
.../chainsaw-step-04-apply-1-1.yaml | 0
.../chainsaw-step-05-apply-1-1.yaml | 0
.../chainsaw-step-06-error-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../update-mycm.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../policy-1.yaml | 0
.../policy-2.yaml | 0
.../chainsaw-test.yaml | 0
.../labelled-resource.yaml | 0
.../namespace.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../unlabelled-resource.yaml | 0
.../README.md | 0
.../chainsaw-step-05-apply-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../ns.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../service.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../pod-fail.yaml | 0
.../policy-assert.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../policy-1.yaml | 0
.../policy-2.yaml | 0
.../policy-assert1.yaml | 0
.../policy-assert2.yaml | 0
.../resource.yaml | 0
.../README.md | 0
.../chainsaw-step-04-apply-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../resource-assert.yaml | 0
.../resource.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../cluster-policy-ready.yaml | 0
.../cluster-policy.yaml | 0
.../keda-ready.yaml | 0
.../keda.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../pod.yaml | 0
.../policy-assert.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../chainsaw-step-00-apply-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../policy-assert.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../event-assert.yaml | 0
.../policy-assert.yaml | 0
.../policy.yaml | 0
.../resource.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../event-assert.yaml | 0
.../policy-assert.yaml | 0
.../policy.yaml | 0
.../report-pass-assert.yaml | 0
.../resource.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../policy-assert.yaml | 0
.../policy.yaml | 0
.../report-skip-assert.yaml | 0
.../resource.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../pod.yaml | 0
.../policy-assert.yaml | 0
.../policy.yaml | 0
.../lazyload/README.md | 0
.../lazyload/chainsaw-step-01-apply-1-1.yaml | 0
.../lazyload/chainsaw-step-01-apply-1-2.yaml | 0
.../lazyload/chainsaw-step-01-apply-1-3.yaml | 0
.../lazyload/chainsaw-step-01-assert-1-1.yaml | 0
.../lazyload/chainsaw-step-01-assert-1-2.yaml | 0
.../lazyload/chainsaw-test.yaml | 0
.../subjectaccessreview/README.md | 0
.../subjectaccessreview/chainsaw-step-01-apply-1-1.yaml | 0
.../subjectaccessreview/chainsaw-step-01-apply-1-2.yaml | 0
.../subjectaccessreview/chainsaw-step-01-apply-1-3.yaml | 0
.../subjectaccessreview/chainsaw-step-01-apply-1-4.yaml | 0
.../subjectaccessreview/chainsaw-step-01-assert-1-1.yaml | 0
.../subjectaccessreview/chainsaw-test.yaml | 0
.../subjectaccessreview/cm-default-ns.yaml | 0
.../subjectaccessreview/cm-test-ns.yaml | 0
.../background-match-clusterRoles/README.md | 0
.../background-match-clusterRoles/chainsaw-step-02-error-1-1.yaml | 0
.../background-match-clusterRoles/chainsaw-test.yaml | 0
.../background-match-clusterRoles/manifests.yaml | 0
.../background-match-roles/README.md | 0
.../background-match-roles/chainsaw-step-02-error-1-1.yaml | 0
.../background-match-roles/chainsaw-test.yaml | 0
.../background-match-roles/manifests.yaml | 0
.../background-vars-roles/README.md | 0
.../background-vars-roles/chainsaw-step-02-error-1-1.yaml | 0
.../background-vars-roles/chainsaw-test.yaml | 0
.../background-vars-roles/manifests.yaml | 0
.../background-vars-serviceAccountName/README.md | 0
.../chainsaw-step-02-error-1-1.yaml | 0
.../background-vars-serviceAccountName/chainsaw-test.yaml | 0
.../background-vars-serviceAccountName/manifests.yaml | 0
.../background-vars-userInfo/README.md | 0
.../background-vars-userInfo/chainsaw-step-02-error-1-1.yaml | 0
.../background-vars-userInfo/chainsaw-test.yaml | 0
.../background-vars-userInfo/manifests.yaml | 0
.../configmap-context-lookup/README.md | 0
.../configmap-context-lookup/chainsaw-step-01-apply-1-1.yaml | 0
.../configmap-context-lookup/chainsaw-step-01-apply-1-2.yaml | 0
.../configmap-context-lookup/chainsaw-step-01-apply-1-3.yaml | 0
.../configmap-context-lookup/chainsaw-step-01-assert-1-1.yaml | 0
.../configmap-context-lookup/chainsaw-step-02-apply-1-1.yaml | 0
.../configmap-context-lookup/chainsaw-step-02-assert-1-1.yaml | 0
.../configmap-context-lookup/chainsaw-step-03-assert-1-1.yaml | 0
.../configmap-context-lookup/chainsaw-test.yaml | 0
.../authorizor-checks/with-permissions/chainsaw-test.yaml | 0
.../authorizor-checks/with-permissions/pod.yaml | 0
.../authorizor-checks/with-permissions/policy.yaml | 0
.../authorizor-checks/with-permissions/rbac.yaml | 0
.../authorizor-checks/with-permissions/serviceaccount.yaml | 0
.../authorizor-checks/without-permissions/chainsaw-test.yaml | 0
.../authorizor-checks/without-permissions/deployment.yaml | 0
.../authorizor-checks/without-permissions/policy.yaml | 0
.../authorizor-checks/without-permissions/rbac.yaml | 0
.../authorizor-checks/without-permissions/serviceaccount.yaml | 0
.../cel-preconditions/README.md | 0
.../cel-preconditions/chainsaw-test.yaml | 0
.../cel-preconditions/pod-fail.yaml | 0
.../cel-preconditions/pod-pass.yaml | 0
.../cel-preconditions/policy-assert.yaml | 0
.../cel-preconditions/policy.yaml | 0
.../{cel(deprecated) => cel-deprecated}/cel-variables/README.md | 0
.../cel-variables/chainsaw-test.yaml | 0
.../cel-variables/deployments-fail.yaml | 0
.../cel-variables/deployments-pass.yaml | 0
.../{cel(deprecated) => cel-deprecated}/cel-variables/ns.yaml | 0
.../cel-variables/policy-assert.yaml | 0
.../{cel(deprecated) => cel-deprecated}/cel-variables/policy.yaml | 0
.../check-statefulset-namespace/README.md | 0
.../check-statefulset-namespace/chainsaw-test.yaml | 0
.../check-statefulset-namespace/ns.yaml | 0
.../check-statefulset-namespace/policy-assert.yaml | 0
.../check-statefulset-namespace/policy.yaml | 0
.../check-statefulset-namespace/statefulset-fail.yaml | 0
.../check-statefulset-namespace/statefulset-pass.yaml | 0
.../disallow-host-port/README.md | 0
.../disallow-host-port/chainsaw-test.yaml | 0
.../disallow-host-port/pod-fail.yaml | 0
.../disallow-host-port/pod-pass.yaml | 0
.../disallow-host-port/policy-assert.yaml | 0
.../disallow-host-port/policy.yaml | 0
.../parameter-resources/clusterscoped/README.md | 0
.../parameter-resources/clusterscoped/chainsaw-test.yaml | 0
.../parameter-resources/clusterscoped/crd-assert.yaml | 0
.../parameter-resources/clusterscoped/crd.yaml | 0
.../parameter-resources/clusterscoped/namespaceConstraint.yaml | 0
.../parameter-resources/clusterscoped/ns-fail.yaml | 0
.../parameter-resources/clusterscoped/ns-pass.yaml | 0
.../parameter-resources/clusterscoped/policy-assert.yaml | 0
.../parameter-resources/clusterscoped/policy.yaml | 0
.../namespaced/match-clusterscoped-resource/README.md | 0
.../namespaced/match-clusterscoped-resource/chainsaw-test.yaml | 0
.../namespaced/match-clusterscoped-resource/crd-assert.yaml | 0
.../namespaced/match-clusterscoped-resource/crd.yaml | 0
.../namespaced/match-clusterscoped-resource/nameConstraint.yaml | 0
.../namespaced/match-clusterscoped-resource/ns.yaml | 0
.../namespaced/match-clusterscoped-resource/policy-assert.yaml | 0
.../namespaced/match-clusterscoped-resource/policy.yaml | 0
.../namespaced/set-paramref-namespace/README.md | 0
.../namespaced/set-paramref-namespace/chainsaw-test.yaml | 0
.../namespaced/set-paramref-namespace/crd-assert.yaml | 0
.../namespaced/set-paramref-namespace/crd.yaml | 0
.../namespaced/set-paramref-namespace/deployment-fail.yaml | 0
.../namespaced/set-paramref-namespace/deployment-pass.yaml | 0
.../parameter-resources/namespaced/set-paramref-namespace/ns.yaml | 0
.../namespaced/set-paramref-namespace/policy-assert.yaml | 0
.../namespaced/set-paramref-namespace/policy.yaml | 0
.../namespaced/set-paramref-namespace/replicaLimit.yaml | 0
.../namespaced/unset-paramref-namespace/README.md | 0
.../namespaced/unset-paramref-namespace/chainsaw-test.yaml | 0
.../namespaced/unset-paramref-namespace/crd-assert.yaml | 0
.../namespaced/unset-paramref-namespace/crd.yaml | 0
.../namespaced/unset-paramref-namespace/ns.yaml | 0
.../namespaced/unset-paramref-namespace/policy-assert.yaml | 0
.../namespaced/unset-paramref-namespace/policy.yaml | 0
.../namespaced/unset-paramref-namespace/replicaLimit.yaml | 0
.../namespaced/unset-paramref-namespace/statefulset-fail.yaml | 0
.../namespaced/unset-paramref-namespace/statefulset-pass.yaml | 0
.../{debug(deprecated) => debug-deprecated}/with-pod/README.md | 0
.../with-pod/chainsaw-test.yaml | 0
.../with-pod/policies-assert.yaml | 0
.../with-pod/policies.yaml | 0
.../with-pod/resources.yaml | 0
.../with-subresource/README.md | 0
.../with-subresource/chainsaw-test.yaml | 0
.../with-subresource/policies-assert.yaml | 0
.../with-subresource/policies.yaml | 0
.../with-subresource/resources.yaml | 0
.../with-wildcard/README.md | 0
.../with-wildcard/chainsaw-test.yaml | 0
.../with-wildcard/policies-assert.yaml | 0
.../with-wildcard/policies.yaml | 0
.../with-wildcard/resources.yaml | 0
.../api-initiated-pod-eviction/README.md | 0
.../api-initiated-pod-eviction/api-initiated-eviction.sh | 0
.../api-initiated-pod-eviction/chainsaw-step-01-apply-1-1.yaml | 0
.../api-initiated-pod-eviction/chainsaw-step-01-apply-1-2.yaml | 0
.../api-initiated-pod-eviction/chainsaw-step-01-apply-1-3.yaml | 0
.../api-initiated-pod-eviction/chainsaw-step-01-assert-1-1.yaml | 0
.../api-initiated-pod-eviction/chainsaw-test.yaml | 0
.../api-initiated-pod-eviction/eviction.json | 0
.../block-pod-exec-requests/README.md | 0
.../block-pod-exec-requests/chainsaw-step-01-apply-1-1.yaml | 0
.../block-pod-exec-requests/chainsaw-step-01-apply-1-2.yaml | 0
.../block-pod-exec-requests/chainsaw-step-01-apply-1-3.yaml | 0
.../block-pod-exec-requests/chainsaw-step-01-assert-1-1.yaml | 0
.../block-pod-exec-requests/chainsaw-test.yaml | 0
.../bypass-with-policy-exception/README.md | 0
.../bypass-with-policy-exception/chainsaw-step-01-apply-1-1.yaml | 0
.../bypass-with-policy-exception/chainsaw-step-01-apply-1-2.yaml | 0
.../bypass-with-policy-exception/chainsaw-step-01-apply-1-3.yaml | 0
.../bypass-with-policy-exception/chainsaw-step-01-apply-1-4.yaml | 0
.../bypass-with-policy-exception/chainsaw-step-01-assert-1-1.yaml | 0
.../bypass-with-policy-exception/chainsaw-step-01-assert-1-2.yaml | 0
.../bypass-with-policy-exception/chainsaw-step-01-assert-1-3.yaml | 0
.../bypass-with-policy-exception/chainsaw-test.yaml | 0
.../{enforce(deprecated) => enforce-deprecated}/csr/README.md | 0
.../csr/chainsaw-test.yaml | 0
.../csr/csr-mutated.yaml | 0
.../{enforce(deprecated) => enforce-deprecated}/csr/csr.yaml | 0
.../csr/policy-ready.yaml | 0
.../{enforce(deprecated) => enforce-deprecated}/csr/policy.yaml | 0
.../enforce-validate-existing/README.md | 0
.../enforce-validate-existing/bad-pod-ready.yaml | 0
.../enforce-validate-existing/bad-pod-update-test.sh | 0
.../enforce-validate-existing/bad-pod.yaml | 0
.../enforce-validate-existing/chainsaw-test.yaml | 0
.../enforce-validate-existing/good-pod-ready.yaml | 0
.../enforce-validate-existing/good-pod-update-test.sh | 0
.../enforce-validate-existing/good-pod.yaml | 0
.../enforce-validate-existing/policy-ready.yaml | 0
.../enforce-validate-existing/policy.yaml | 0
.../enforce-validate-existing/update-bad-pod-to-comply.sh | 0
.../failure-policy-ignore-anchor/README.md | 0
.../failure-policy-ignore-anchor/chainsaw-test.yaml | 0
.../failure-policy-ignore-anchor/pod.yaml | 0
.../failure-policy-ignore-anchor/policy-assert.yaml | 0
.../failure-policy-ignore-anchor/policy.yaml | 0
.../ns-selector-with-wildcard-kind/README.md | 0
.../ns-selector-with-wildcard-kind/chainsaw-test.yaml | 0
.../ns-selector-with-wildcard-kind/ns.yaml | 0
.../ns-selector-with-wildcard-kind/pod-fail.yaml | 0
.../ns-selector-with-wildcard-kind/pod-pass.yaml | 0
.../ns-selector-with-wildcard-kind/policy-assert.yaml | 0
.../ns-selector-with-wildcard-kind/policy.yaml | 0
.../operator-allnotin-01/README.md | 0
.../operator-allnotin-01/chainsaw-step-01-apply-1-1.yaml | 0
.../operator-allnotin-01/chainsaw-step-01-assert-1-1.yaml | 0
.../operator-allnotin-01/chainsaw-step-03-apply-1-1.yaml | 0
.../operator-allnotin-01/chainsaw-test.yaml | 0
.../operator-allnotin-01/resource.yaml | 0
.../operator-anyin-boolean/README.md | 0
.../operator-anyin-boolean/chainsaw-step-01-apply-1-1.yaml | 0
.../operator-anyin-boolean/chainsaw-step-02-assert-1-1.yaml | 0
.../operator-anyin-boolean/chainsaw-test.yaml | 0
.../operator-anyin-boolean/pod.yaml | 0
.../resource-apply-block/README.md | 0
.../resource-apply-block/chainsaw-step-01-apply-1-1.yaml | 0
.../resource-apply-block/chainsaw-step-01-assert-1-1.yaml | 0
.../resource-apply-block/chainsaw-step-03-error-1-1.yaml | 0
.../resource-apply-block/chainsaw-test.yaml | 0
.../resource-apply-block/resource.yaml | 0
.../scaling-with-kubectl-scale/README.md | 0
.../scaling-with-kubectl-scale/chainsaw-step-01-apply-1-1.yaml | 0
.../scaling-with-kubectl-scale/chainsaw-step-01-apply-1-2.yaml | 0
.../scaling-with-kubectl-scale/chainsaw-step-01-apply-1-3.yaml | 0
.../scaling-with-kubectl-scale/chainsaw-step-01-assert-1-1.yaml | 0
.../scaling-with-kubectl-scale/chainsaw-step-01-assert-1-2.yaml | 0
.../scaling-with-kubectl-scale/chainsaw-test.yaml | 0
.../standard/{gvk(deprecated) => gvk-deprecated}/README.md | 0
.../{gvk(deprecated) => gvk-deprecated}/chainsaw-test.yaml | 0
.../standard/{gvk(deprecated) => gvk-deprecated}/crd-1.yaml | 0
.../standard/{gvk(deprecated) => gvk-deprecated}/crd-ready-1.yaml | 0
.../standard/{gvk(deprecated) => gvk-deprecated}/crd-ready.yaml | 0
.../standard/{gvk(deprecated) => gvk-deprecated}/crd.yaml | 0
.../{gvk(deprecated) => gvk-deprecated}/policy-ready.yaml | 0
.../standard/{gvk(deprecated) => gvk-deprecated}/policy.yaml | 0
.../standard/{gvk(deprecated) => gvk-deprecated}/task.yaml | 0
.../seccomp-latest-check-no-exclusion/README.md | 0
.../seccomp-latest-check-no-exclusion/bad-pod-1.yaml | 0
.../seccomp-latest-check-no-exclusion/bad-pod-2.yaml | 0
.../seccomp-latest-check-no-exclusion/chainsaw-test.yaml | 0
.../seccomp-latest-check-no-exclusion/good-pod.yaml | 0
.../seccomp-latest-check-no-exclusion/policy-assert.yaml | 0
.../seccomp-latest-check-no-exclusion/policy.yaml | 0
.../test-deletion-request/README.md | 0
.../test-deletion-request/chainsaw-test.yaml | 0
.../test-deletion-request/manifests.yaml | 0
.../test-deletion-request/policy-assert.yaml | 0
.../test-deletion-request/policy.yaml | 0
.../test-exclusion-capabilities/README.md | 0
.../test-exclusion-capabilities/bad-pod.yaml | 0
.../test-exclusion-capabilities/chainsaw-test.yaml | 0
.../test-exclusion-capabilities/excluded-pod.yaml | 0
.../test-exclusion-capabilities/good-pod.yaml | 0
.../test-exclusion-capabilities/policy-assert.yaml | 0
.../test-exclusion-capabilities/policy.yaml | 0
.../test-exclusion-host-namespaces/README.md | 0
.../test-exclusion-host-namespaces/bad-pod.yaml | 0
.../test-exclusion-host-namespaces/chainsaw-test.yaml | 0
.../test-exclusion-host-namespaces/excluded-pod.yaml | 0
.../test-exclusion-host-namespaces/good-pod.yaml | 0
.../test-exclusion-host-namespaces/policy-assert.yaml | 0
.../test-exclusion-host-namespaces/policy.yaml | 0
.../test-exclusion-host-ports/README.md | 0
.../test-exclusion-host-ports/bad-pod.yaml | 0
.../test-exclusion-host-ports/chainsaw-test.yaml | 0
.../test-exclusion-host-ports/excluded-pod.yaml | 0
.../test-exclusion-host-ports/good-pod.yaml | 0
.../test-exclusion-host-ports/policy-assert.yaml | 0
.../test-exclusion-host-ports/policy.yaml | 0
.../test-exclusion-hostpath-volume/README.md | 0
.../test-exclusion-hostpath-volume/bad-pod.yaml | 0
.../test-exclusion-hostpath-volume/chainsaw-test.yaml | 0
.../test-exclusion-hostpath-volume/excluded-pod.yaml | 0
.../test-exclusion-hostpath-volume/good-pod.yaml | 0
.../test-exclusion-hostpath-volume/policy-assert.yaml | 0
.../test-exclusion-hostpath-volume/policy.yaml | 0
.../test-exclusion-hostprocesses/README.md | 0
.../test-exclusion-hostprocesses/bad-pod.yaml | 0
.../test-exclusion-hostprocesses/chainsaw-test.yaml | 0
.../test-exclusion-hostprocesses/excluded-pod.yaml | 0
.../test-exclusion-hostprocesses/good-pod.yaml | 0
.../test-exclusion-hostprocesses/policy-assert.yaml | 0
.../test-exclusion-hostprocesses/policy.yaml | 0
.../test-exclusion-privilege-escalation/README.md | 0
.../test-exclusion-privilege-escalation/bad-pod.yaml | 0
.../test-exclusion-privilege-escalation/chainsaw-test.yaml | 0
.../test-exclusion-privilege-escalation/excluded-pod.yaml | 0
.../test-exclusion-privilege-escalation/good-pod.yaml | 0
.../test-exclusion-privilege-escalation/policy-assert.yaml | 0
.../test-exclusion-privilege-escalation/policy.yaml | 0
.../test-exclusion-privileged-containers/README.md | 0
.../test-exclusion-privileged-containers/bad-pod.yaml | 0
.../test-exclusion-privileged-containers/chainsaw-test.yaml | 0
.../test-exclusion-privileged-containers/excluded-pod.yaml | 0
.../test-exclusion-privileged-containers/good-pod.yaml | 0
.../test-exclusion-privileged-containers/policy-assert.yaml | 0
.../test-exclusion-privileged-containers/policy.yaml | 0
.../test-exclusion-restricted-capabilities/README.md | 0
.../test-exclusion-restricted-capabilities/bad-pod.yaml | 0
.../test-exclusion-restricted-capabilities/chainsaw-test.yaml | 0
.../test-exclusion-restricted-capabilities/excluded-pod.yaml | 0
.../test-exclusion-restricted-capabilities/good-pod.yaml | 0
.../test-exclusion-restricted-capabilities/policy-assert.yaml | 0
.../test-exclusion-restricted-capabilities/policy.yaml | 0
.../test-exclusion-restricted-seccomp/README.md | 0
.../test-exclusion-restricted-seccomp/bad-pod.yaml | 0
.../test-exclusion-restricted-seccomp/chainsaw-test.yaml | 0
.../test-exclusion-restricted-seccomp/excluded-pod.yaml | 0
.../test-exclusion-restricted-seccomp/good-pod.yaml | 0
.../test-exclusion-restricted-seccomp/policy-assert.yaml | 0
.../test-exclusion-restricted-seccomp/policy.yaml | 0
.../test-exclusion-running-as-nonroot-user/README.md | 0
.../test-exclusion-running-as-nonroot-user/bad-pod.yaml | 0
.../test-exclusion-running-as-nonroot-user/chainsaw-test.yaml | 0
.../test-exclusion-running-as-nonroot-user/excluded-pod.yaml | 0
.../test-exclusion-running-as-nonroot-user/good-pod.yaml | 0
.../test-exclusion-running-as-nonroot-user/policy-assert.yaml | 0
.../test-exclusion-running-as-nonroot-user/policy.yaml | 0
.../test-exclusion-running-as-nonroot/README.md | 0
.../test-exclusion-running-as-nonroot/bad-pod.yaml | 0
.../test-exclusion-running-as-nonroot/chainsaw-test.yaml | 0
.../test-exclusion-running-as-nonroot/excluded-pod.yaml | 0
.../test-exclusion-running-as-nonroot/good-pod.yaml | 0
.../test-exclusion-running-as-nonroot/policy-assert.yaml | 0
.../test-exclusion-running-as-nonroot/policy.yaml | 0
.../test-exclusion-seccomp/README.md | 0
.../test-exclusion-seccomp/bad-pod.yaml | 0
.../test-exclusion-seccomp/chainsaw-test.yaml | 0
.../test-exclusion-seccomp/excluded-pod.yaml | 0
.../test-exclusion-seccomp/good-pod.yaml | 0
.../test-exclusion-seccomp/policy-assert.yaml | 0
.../test-exclusion-seccomp/policy.yaml | 0
.../test-exclusion-selinux/README.md | 0
.../test-exclusion-selinux/bad-pod.yaml | 0
.../test-exclusion-selinux/chainsaw-test.yaml | 0
.../test-exclusion-selinux/excluded-pod.yaml | 0
.../test-exclusion-selinux/good-pod.yaml | 0
.../test-exclusion-selinux/policy-assert.yaml | 0
.../test-exclusion-selinux/policy.yaml | 0
.../test-exclusion-sysctls/README.md | 0
.../test-exclusion-sysctls/bad-pod.yaml | 0
.../test-exclusion-sysctls/chainsaw-test.yaml | 0
.../test-exclusion-sysctls/excluded-pod.yaml | 0
.../test-exclusion-sysctls/good-pod.yaml | 0
.../test-exclusion-sysctls/policy-assert.yaml | 0
.../test-exclusion-sysctls/policy.yaml | 0
.../test-exclusion-volume-types/README.md | 0
.../test-exclusion-volume-types/bad-pod.yaml | 0
.../test-exclusion-volume-types/chainsaw-test.yaml | 0
.../test-exclusion-volume-types/excluded-pod.yaml | 0
.../test-exclusion-volume-types/good-pod.yaml | 0
.../test-exclusion-volume-types/policy-assert.yaml | 0
.../test-exclusion-volume-types/policy.yaml | 0
.../{subresource copy => subresource-deprecated}/README.md | 0
.../chainsaw-test.yaml | 0
.../policies-assert.yaml | 0
.../{subresource copy => subresource-deprecated}/policies.yaml | 0
.../{subresource copy => subresource-deprecated}/resources.yaml | 0
.../{conditions(deprecated) => conditions-deprecated}/README.md | 0
.../chainsaw-test.yaml | 0
.../pod-bad.yaml | 0
.../pod-good.yaml | 0
.../policy-2.yaml | 0
.../policy-assert.yaml | 0
.../{conditions(deprecated) => conditions-deprecated}/policy.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../chainsaw-step-01-apply-1-1.yaml | 0
.../chainsaw-step-01-apply-1-2.yaml | 0
.../chainsaw-step-01-apply-1-3.yaml | 0
.../chainsaw-step-01-assert-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../README.md | 0
.../bad.yaml | 0
.../chainsaw-step-02-apply-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../chainsaw-step-01-apply-1-1.yaml | 0
.../chainsaw-step-01-apply-1-2.yaml | 0
.../chainsaw-step-01-assert-1-1.yaml | 0
.../chainsaw-step-01-assert-1-2.yaml | 0
.../chainsaw-test.yaml | 0
.../postgresqls-ready.yaml | 0
.../postgresqls.yaml | 0
.../resource.yaml | 0
.../README.md | 0
.../chainsaw-test.yaml | 0
.../ns-ready.yaml | 0
.../ns-update.yaml | 0
.../ns.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../bad.yaml | 0
.../chainsaw-step-02-apply-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../{x509-decode(deprecated) => x509-decode-deprecated}/README.md | 0
.../{x509-decode(deprecated) => x509-decode-deprecated}/bad.yaml | 0
.../chainsaw-step-03-apply-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../bad.yaml | 0
.../chainsaw-step-02-apply-1-1.yaml | 0
.../chainsaw-test.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
.../README.md | 0
.../bad-pod.yaml | 0
.../chainsaw-step-02-apply-1.yaml | 0
.../chainsaw-test.yaml | 0
.../policy-ready.yaml | 0
.../policy.yaml | 0
500 files changed, 0 insertions(+), 0 deletions(-)
rename test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/{fail(deprecated) => fail-deprecated}/README.md (100%)
rename test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/{fail(deprecated) => fail-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/{fail(deprecated) => fail-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/{fail(deprecated) => fail-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/{fail(deprecated) => fail-deprecated}/webhooks-assert.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/README.md (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-02-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-02-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-02-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-02-apply-1-4.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-02-apply-1-5.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-02-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-02-assert-1-2.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-04-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-05-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-step-06-error-1-1.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/mutate/clusterpolicy/cornercases/{variables-mutate-existing(deprecated) => variables-mutate-existing-deprecated}/update-mycm.yaml (100%)
rename test/conformance/chainsaw/policy-validation/cluster-policy/{invalid-timeout(deprecated) => invalid-timeout-deprecated}/README.md (100%)
rename test/conformance/chainsaw/policy-validation/cluster-policy/{invalid-timeout(deprecated) => invalid-timeout-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/policy-validation/cluster-policy/{invalid-timeout(deprecated) => invalid-timeout-deprecated}/policy-1.yaml (100%)
rename test/conformance/chainsaw/policy-validation/cluster-policy/{invalid-timeout(deprecated) => invalid-timeout-deprecated}/policy-2.yaml (100%)
rename test/conformance/chainsaw/validate/anchors/{conditional(deprecated) => conditional-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/anchors/{conditional(deprecated) => conditional-deprecated}/labelled-resource.yaml (100%)
rename test/conformance/chainsaw/validate/anchors/{conditional(deprecated) => conditional-deprecated}/namespace.yaml (100%)
rename test/conformance/chainsaw/validate/anchors/{conditional(deprecated) => conditional-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/anchors/{conditional(deprecated) => conditional-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/anchors/{conditional(deprecated) => conditional-deprecated}/unlabelled-resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{apply-on-deletion(deprecated) => apply-on-deletion-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{apply-on-deletion(deprecated) => apply-on-deletion-deprecated}/chainsaw-step-05-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{apply-on-deletion(deprecated) => apply-on-deletion-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{apply-on-deletion(deprecated) => apply-on-deletion-deprecated}/ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{apply-on-deletion(deprecated) => apply-on-deletion-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{apply-on-deletion(deprecated) => apply-on-deletion-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{apply-on-deletion(deprecated) => apply-on-deletion-deprecated}/service.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{cel-messages-upon-resource-failure(deprecated) => cel-messages-upon-resource-failure-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{cel-messages-upon-resource-failure(deprecated) => cel-messages-upon-resource-failure-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{cel-messages-upon-resource-failure(deprecated) => cel-messages-upon-resource-failure-deprecated}/pod-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{cel-messages-upon-resource-failure(deprecated) => cel-messages-upon-resource-failure-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{cel-messages-upon-resource-failure(deprecated) => cel-messages-upon-resource-failure-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{check-message-upon-resource-failure(deprecated) => check-message-upon-resource-failure-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{check-message-upon-resource-failure(deprecated) => check-message-upon-resource-failure-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{check-message-upon-resource-failure(deprecated) => check-message-upon-resource-failure-deprecated}/policy-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{check-message-upon-resource-failure(deprecated) => check-message-upon-resource-failure-deprecated}/policy-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{check-message-upon-resource-failure(deprecated) => check-message-upon-resource-failure-deprecated}/policy-assert1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{check-message-upon-resource-failure(deprecated) => check-message-upon-resource-failure-deprecated}/policy-assert2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{check-message-upon-resource-failure(deprecated) => check-message-upon-resource-failure-deprecated}/resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{ephemeral-containers(deprecated) => ephemeral-containers-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{ephemeral-containers(deprecated) => ephemeral-containers-deprecated}/chainsaw-step-04-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{ephemeral-containers(deprecated) => ephemeral-containers-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{ephemeral-containers(deprecated) => ephemeral-containers-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{ephemeral-containers(deprecated) => ephemeral-containers-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{ephemeral-containers(deprecated) => ephemeral-containers-deprecated}/resource-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{ephemeral-containers(deprecated) => ephemeral-containers-deprecated}/resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/cluster-policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/cluster-policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/keda-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/keda.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{external-metrics(deprecated) => external-metrics-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{invalid-jmespath-variable-substitution(deprecated) => invalid-jmespath-variable-substitution-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{invalid-jmespath-variable-substitution(deprecated) => invalid-jmespath-variable-substitution-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{invalid-jmespath-variable-substitution(deprecated) => invalid-jmespath-variable-substitution-deprecated}/pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{invalid-jmespath-variable-substitution(deprecated) => invalid-jmespath-variable-substitution-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{invalid-jmespath-variable-substitution(deprecated) => invalid-jmespath-variable-substitution-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{schema-validation-for-mutateExisting(deprecated) => schema-validation-for-mutateExisting-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{schema-validation-for-mutateExisting(deprecated) => schema-validation-for-mutateExisting-deprecated}/chainsaw-step-00-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{schema-validation-for-mutateExisting(deprecated) => schema-validation-for-mutateExisting-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{schema-validation-for-mutateExisting(deprecated) => schema-validation-for-mutateExisting-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{schema-validation-for-mutateExisting(deprecated) => schema-validation-for-mutateExisting-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-fail(deprecated) => validate-pattern-should-fail-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-fail(deprecated) => validate-pattern-should-fail-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-fail(deprecated) => validate-pattern-should-fail-deprecated}/event-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-fail(deprecated) => validate-pattern-should-fail-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-fail(deprecated) => validate-pattern-should-fail-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-fail(deprecated) => validate-pattern-should-fail-deprecated}/resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-pass(deprecated) => validate-pattern-should-pass-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-pass(deprecated) => validate-pattern-should-pass-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-pass(deprecated) => validate-pattern-should-pass-deprecated}/event-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-pass(deprecated) => validate-pattern-should-pass-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-pass(deprecated) => validate-pattern-should-pass-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-pass(deprecated) => validate-pattern-should-pass-deprecated}/report-pass-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-pass(deprecated) => validate-pattern-should-pass-deprecated}/resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-skip(deprecated) => validate-pattern-should-skip-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-skip(deprecated) => validate-pattern-should-skip-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-skip(deprecated) => validate-pattern-should-skip-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-skip(deprecated) => validate-pattern-should-skip-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-skip(deprecated) => validate-pattern-should-skip-deprecated}/report-skip-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{validate-pattern-should-skip(deprecated) => validate-pattern-should-skip-deprecated}/resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{variable-substitution-failure-messages(deprecated) => variable-substitution-failure-messages-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{variable-substitution-failure-messages(deprecated) => variable-substitution-failure-messages-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{variable-substitution-failure-messages(deprecated) => variable-substitution-failure-messages-deprecated}/pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{variable-substitution-failure-messages(deprecated) => variable-substitution-failure-messages-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/cornercases/{variable-substitution-failure-messages(deprecated) => variable-substitution-failure-messages-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/lazyload/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/lazyload/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/lazyload/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/lazyload/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/lazyload/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/lazyload/chainsaw-step-01-assert-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/lazyload/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/chainsaw-step-01-apply-1-4.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/cm-default-ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{apicalls(deprecated) => apicalls-deprecated}/subjectaccessreview/cm-test-ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-clusterRoles/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-clusterRoles/chainsaw-step-02-error-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-clusterRoles/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-clusterRoles/manifests.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-roles/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-roles/chainsaw-step-02-error-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-roles/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-match-roles/manifests.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-roles/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-roles/chainsaw-step-02-error-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-roles/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-roles/manifests.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-serviceAccountName/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-serviceAccountName/chainsaw-step-02-error-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-serviceAccountName/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-serviceAccountName/manifests.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-userInfo/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-userInfo/chainsaw-step-02-error-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-userInfo/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/background-vars-userInfo/manifests.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-step-02-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-step-02-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-step-03-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{audit(deprecated) => audit-deprecated}/configmap-context-lookup/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/with-permissions/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/with-permissions/pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/with-permissions/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/with-permissions/rbac.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/with-permissions/serviceaccount.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/without-permissions/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/without-permissions/deployment.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/without-permissions/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/without-permissions/rbac.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/authorizor-checks/without-permissions/serviceaccount.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-preconditions/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-preconditions/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-preconditions/pod-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-preconditions/pod-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-preconditions/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-preconditions/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-variables/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-variables/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-variables/deployments-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-variables/deployments-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-variables/ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-variables/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/cel-variables/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/check-statefulset-namespace/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/check-statefulset-namespace/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/check-statefulset-namespace/ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/check-statefulset-namespace/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/check-statefulset-namespace/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/check-statefulset-namespace/statefulset-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/check-statefulset-namespace/statefulset-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/disallow-host-port/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/disallow-host-port/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/disallow-host-port/pod-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/disallow-host-port/pod-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/disallow-host-port/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/disallow-host-port/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/crd-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/crd.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/namespaceConstraint.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/ns-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/ns-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/clusterscoped/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/crd-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/crd.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/nameConstraint.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/match-clusterscoped-resource/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/crd-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/crd.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/deployment-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/deployment-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/set-paramref-namespace/replicaLimit.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/crd-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/crd.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/replicaLimit.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/statefulset-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{cel(deprecated) => cel-deprecated}/parameter-resources/namespaced/unset-paramref-namespace/statefulset-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-pod/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-pod/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-pod/policies-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-pod/policies.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-pod/resources.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-subresource/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-subresource/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-subresource/policies-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-subresource/policies.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-subresource/resources.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-wildcard/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-wildcard/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-wildcard/policies-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-wildcard/policies.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{debug(deprecated) => debug-deprecated}/with-wildcard/resources.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/api-initiated-eviction.sh (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/api-initiated-pod-eviction/eviction.json (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/block-pod-exec-requests/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/block-pod-exec-requests/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/block-pod-exec-requests/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/block-pod-exec-requests/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/block-pod-exec-requests/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/block-pod-exec-requests/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-step-01-apply-1-4.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-step-01-assert-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-step-01-assert-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/bypass-with-policy-exception/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/csr/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/csr/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/csr/csr-mutated.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/csr/csr.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/csr/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/csr/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/bad-pod-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/bad-pod-update-test.sh (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/good-pod-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/good-pod-update-test.sh (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/enforce-validate-existing/update-bad-pod-to-comply.sh (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/failure-policy-ignore-anchor/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/failure-policy-ignore-anchor/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/failure-policy-ignore-anchor/pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/failure-policy-ignore-anchor/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/failure-policy-ignore-anchor/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/ns-selector-with-wildcard-kind/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/ns-selector-with-wildcard-kind/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/ns-selector-with-wildcard-kind/ns.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/ns-selector-with-wildcard-kind/pod-fail.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/ns-selector-with-wildcard-kind/pod-pass.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/ns-selector-with-wildcard-kind/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/ns-selector-with-wildcard-kind/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-allnotin-01/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-allnotin-01/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-allnotin-01/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-allnotin-01/chainsaw-step-03-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-allnotin-01/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-allnotin-01/resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-anyin-boolean/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-anyin-boolean/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-anyin-boolean/chainsaw-step-02-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-anyin-boolean/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/operator-anyin-boolean/pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/resource-apply-block/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/resource-apply-block/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/resource-apply-block/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/resource-apply-block/chainsaw-step-03-error-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/resource-apply-block/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/resource-apply-block/resource.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/scaling-with-kubectl-scale/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{enforce(deprecated) => enforce-deprecated}/scaling-with-kubectl-scale/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/crd-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/crd-ready-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/crd-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/crd.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{gvk(deprecated) => gvk-deprecated}/task.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/seccomp-latest-check-no-exclusion/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/seccomp-latest-check-no-exclusion/bad-pod-1.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/seccomp-latest-check-no-exclusion/bad-pod-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/seccomp-latest-check-no-exclusion/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/seccomp-latest-check-no-exclusion/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/seccomp-latest-check-no-exclusion/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/seccomp-latest-check-no-exclusion/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-deletion-request/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-deletion-request/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-deletion-request/manifests.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-deletion-request/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-deletion-request/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-capabilities/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-capabilities/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-capabilities/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-capabilities/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-capabilities/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-capabilities/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-capabilities/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-namespaces/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-namespaces/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-namespaces/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-namespaces/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-namespaces/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-namespaces/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-namespaces/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-ports/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-ports/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-ports/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-ports/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-ports/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-ports/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-host-ports/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostpath-volume/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostpath-volume/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostpath-volume/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostpath-volume/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostpath-volume/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostpath-volume/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostpath-volume/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostprocesses/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostprocesses/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostprocesses/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostprocesses/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostprocesses/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostprocesses/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-hostprocesses/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privilege-escalation/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privilege-escalation/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privilege-escalation/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privilege-escalation/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privilege-escalation/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privilege-escalation/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privilege-escalation/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privileged-containers/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privileged-containers/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privileged-containers/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privileged-containers/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privileged-containers/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privileged-containers/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-privileged-containers/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-capabilities/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-capabilities/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-capabilities/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-capabilities/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-capabilities/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-capabilities/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-capabilities/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-seccomp/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-seccomp/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-seccomp/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-seccomp/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-seccomp/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-seccomp/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-restricted-seccomp/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot-user/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot-user/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot-user/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot-user/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot-user/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot-user/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot-user/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-running-as-nonroot/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-seccomp/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-seccomp/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-seccomp/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-seccomp/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-seccomp/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-seccomp/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-seccomp/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-selinux/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-selinux/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-selinux/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-selinux/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-selinux/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-selinux/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-selinux/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-sysctls/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-sysctls/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-sysctls/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-sysctls/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-sysctls/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-sysctls/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-sysctls/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-volume-types/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-volume-types/bad-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-volume-types/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-volume-types/excluded-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-volume-types/good-pod.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-volume-types/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{psa(deprecated) => psa-deprecated}/test-exclusion-volume-types/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{subresource copy => subresource-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{subresource copy => subresource-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{subresource copy => subresource-deprecated}/policies-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{subresource copy => subresource-deprecated}/policies.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/{subresource copy => subresource-deprecated}/resources.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/{conditions(deprecated) => conditions-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/{conditions(deprecated) => conditions-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/{conditions(deprecated) => conditions-deprecated}/pod-bad.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/{conditions(deprecated) => conditions-deprecated}/pod-good.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/{conditions(deprecated) => conditions-deprecated}/policy-2.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/{conditions(deprecated) => conditions-deprecated}/policy-assert.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/{conditions(deprecated) => conditions-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/{block-verifyimage(deprecated) => block-verifyimage-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/{block-verifyimage(deprecated) => block-verifyimage-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/{block-verifyimage(deprecated) => block-verifyimage-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{adding-key-to-config-map(deprecated) => adding-key-to-config-map-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/e2e/{adding-key-to-config-map(deprecated) => adding-key-to-config-map-deprecated}/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{adding-key-to-config-map(deprecated) => adding-key-to-config-map-deprecated}/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{adding-key-to-config-map(deprecated) => adding-key-to-config-map-deprecated}/chainsaw-step-01-apply-1-3.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{adding-key-to-config-map(deprecated) => adding-key-to-config-map-deprecated}/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{adding-key-to-config-map(deprecated) => adding-key-to-config-map-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{global-anchor copy(deprecated) => global-anchor-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/e2e/{global-anchor copy(deprecated) => global-anchor-deprecated}/bad.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{global-anchor copy(deprecated) => global-anchor-deprecated}/chainsaw-step-02-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{global-anchor copy(deprecated) => global-anchor-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{global-anchor copy(deprecated) => global-anchor-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{global-anchor copy(deprecated) => global-anchor-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/chainsaw-step-01-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/chainsaw-step-01-apply-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/chainsaw-step-01-assert-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/chainsaw-step-01-assert-1-2.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/postgresqls-ready.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/postgresqls.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{lowercase-kind-crd(deprecated) => lowercase-kind-crd-deprecated}/resource.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{old-object-exists(deprecated) => old-object-exists-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/e2e/{old-object-exists(deprecated) => old-object-exists-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{old-object-exists(deprecated) => old-object-exists-deprecated}/ns-ready.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{old-object-exists(deprecated) => old-object-exists-deprecated}/ns-update.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{old-object-exists(deprecated) => old-object-exists-deprecated}/ns.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{old-object-exists(deprecated) => old-object-exists-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{old-object-exists(deprecated) => old-object-exists-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{trusted-images(deprecated) => trusted-images-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/e2e/{trusted-images(deprecated) => trusted-images-deprecated}/bad.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{trusted-images(deprecated) => trusted-images-deprecated}/chainsaw-step-02-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{trusted-images(deprecated) => trusted-images-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{trusted-images(deprecated) => trusted-images-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{trusted-images(deprecated) => trusted-images-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{x509-decode(deprecated) => x509-decode-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/e2e/{x509-decode(deprecated) => x509-decode-deprecated}/bad.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{x509-decode(deprecated) => x509-decode-deprecated}/chainsaw-step-03-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{x509-decode(deprecated) => x509-decode-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{x509-decode(deprecated) => x509-decode-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{x509-decode(deprecated) => x509-decode-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{yaml-signing(deprecated) => yaml-signing-deprecated}/README.md (100%)
rename test/conformance/chainsaw/validate/e2e/{yaml-signing(deprecated) => yaml-signing-deprecated}/bad.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{yaml-signing(deprecated) => yaml-signing-deprecated}/chainsaw-step-02-apply-1-1.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{yaml-signing(deprecated) => yaml-signing-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{yaml-signing(deprecated) => yaml-signing-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/validate/e2e/{yaml-signing(deprecated) => yaml-signing-deprecated}/policy.yaml (100%)
rename test/conformance/chainsaw/verifyImages/clusterpolicy/standard/{failure-policy-test-noconfigmap-diffimage-success(deprecated) => failure-policy-test-noconfigmap-diffimage-success-deprecated}/README.md (100%)
rename test/conformance/chainsaw/verifyImages/clusterpolicy/standard/{failure-policy-test-noconfigmap-diffimage-success(deprecated) => failure-policy-test-noconfigmap-diffimage-success-deprecated}/bad-pod.yaml (100%)
rename test/conformance/chainsaw/verifyImages/clusterpolicy/standard/{failure-policy-test-noconfigmap-diffimage-success(deprecated) => failure-policy-test-noconfigmap-diffimage-success-deprecated}/chainsaw-step-02-apply-1.yaml (100%)
rename test/conformance/chainsaw/verifyImages/clusterpolicy/standard/{failure-policy-test-noconfigmap-diffimage-success(deprecated) => failure-policy-test-noconfigmap-diffimage-success-deprecated}/chainsaw-test.yaml (100%)
rename test/conformance/chainsaw/verifyImages/clusterpolicy/standard/{failure-policy-test-noconfigmap-diffimage-success(deprecated) => failure-policy-test-noconfigmap-diffimage-success-deprecated}/policy-ready.yaml (100%)
rename test/conformance/chainsaw/verifyImages/clusterpolicy/standard/{failure-policy-test-noconfigmap-diffimage-success(deprecated) => failure-policy-test-noconfigmap-diffimage-success-deprecated}/policy.yaml (100%)
diff --git a/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/README.md b/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/README.md
rename to test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/README.md
diff --git a/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/policy.yaml b/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/policy.yaml
rename to test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/webhooks-assert.yaml b/test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/webhooks-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail(deprecated)/webhooks-assert.yaml
rename to test/conformance/chainsaw/force-failure-policy-ignore/cluster-policy/fail-deprecated/webhooks-assert.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/README.md b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/README.md
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/README.md
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-1.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-1.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-2.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-2.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-3.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-3.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-4.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-4.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-4.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-4.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-5.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-5.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-apply-1-5.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-apply-1-5.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-assert-1-1.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-assert-1-1.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-assert-1-2.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-assert-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-02-assert-1-2.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-02-assert-1-2.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-04-apply-1-1.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-04-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-04-apply-1-1.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-04-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-05-apply-1-1.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-05-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-05-apply-1-1.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-05-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-06-error-1-1.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-06-error-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-step-06-error-1-1.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-step-06-error-1-1.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/update-mycm.yaml b/test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/update-mycm.yaml
similarity index 100%
rename from test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing(deprecated)/update-mycm.yaml
rename to test/conformance/chainsaw/mutate/clusterpolicy/cornercases/variables-mutate-existing-deprecated/update-mycm.yaml
diff --git a/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/README.md b/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/README.md
rename to test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/README.md
diff --git a/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/policy-1.yaml b/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/policy-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/policy-1.yaml
rename to test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/policy-1.yaml
diff --git a/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/policy-2.yaml b/test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/policy-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout(deprecated)/policy-2.yaml
rename to test/conformance/chainsaw/policy-validation/cluster-policy/invalid-timeout-deprecated/policy-2.yaml
diff --git a/test/conformance/chainsaw/validate/anchors/conditional(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/anchors/conditional-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/anchors/conditional(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/anchors/conditional-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/anchors/conditional(deprecated)/labelled-resource.yaml b/test/conformance/chainsaw/validate/anchors/conditional-deprecated/labelled-resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/anchors/conditional(deprecated)/labelled-resource.yaml
rename to test/conformance/chainsaw/validate/anchors/conditional-deprecated/labelled-resource.yaml
diff --git a/test/conformance/chainsaw/validate/anchors/conditional(deprecated)/namespace.yaml b/test/conformance/chainsaw/validate/anchors/conditional-deprecated/namespace.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/anchors/conditional(deprecated)/namespace.yaml
rename to test/conformance/chainsaw/validate/anchors/conditional-deprecated/namespace.yaml
diff --git a/test/conformance/chainsaw/validate/anchors/conditional(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/anchors/conditional-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/anchors/conditional(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/anchors/conditional-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/anchors/conditional(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/anchors/conditional-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/anchors/conditional(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/anchors/conditional-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/anchors/conditional(deprecated)/unlabelled-resource.yaml b/test/conformance/chainsaw/validate/anchors/conditional-deprecated/unlabelled-resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/anchors/conditional(deprecated)/unlabelled-resource.yaml
rename to test/conformance/chainsaw/validate/anchors/conditional-deprecated/unlabelled-resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/chainsaw-step-05-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/chainsaw-step-05-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/chainsaw-step-05-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/chainsaw-step-05-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/service.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/service.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion(deprecated)/service.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/apply-on-deletion-deprecated/service.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/pod-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/pod-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/pod-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/pod-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/cel-messages-upon-resource-failure-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-assert1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-assert1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-assert1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-assert1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-assert2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-assert2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/policy-assert2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/policy-assert2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/resource.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure(deprecated)/resource.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/check-message-upon-resource-failure-deprecated/resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/chainsaw-step-04-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/chainsaw-step-04-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/chainsaw-step-04-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/chainsaw-step-04-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/resource-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/resource-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/resource-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/resource-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/resource.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers(deprecated)/resource.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/ephemeral-containers-deprecated/resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/cluster-policy-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/cluster-policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/cluster-policy-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/cluster-policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/cluster-policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/cluster-policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/cluster-policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/cluster-policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/keda-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/keda-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/keda-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/keda-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/keda.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/keda.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/keda.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/keda.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/external-metrics-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/invalid-jmespath-variable-substitution-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/chainsaw-step-00-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/chainsaw-step-00-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/chainsaw-step-00-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/chainsaw-step-00-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/schema-validation-for-mutateExisting-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/event-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/event-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/event-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/event-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/resource.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail(deprecated)/resource.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-fail-deprecated/resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/event-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/event-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/event-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/event-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/report-pass-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/report-pass-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/report-pass-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/report-pass-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/resource.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass(deprecated)/resource.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-pass-deprecated/resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/report-skip-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/report-skip-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/report-skip-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/report-skip-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/resource.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip(deprecated)/resource.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/validate-pattern-should-skip-deprecated/resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/cornercases/variable-substitution-failure-messages-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-assert-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-assert-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-step-01-assert-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-step-01-assert-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/lazyload/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/lazyload/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-4.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-4.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-apply-1-4.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-apply-1-4.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/cm-default-ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/cm-default-ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/cm-default-ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/cm-default-ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/cm-test-ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/cm-test-ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls(deprecated)/subjectaccessreview/cm-test-ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/apicalls-deprecated/subjectaccessreview/cm-test-ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/chainsaw-step-02-error-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/chainsaw-step-02-error-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/chainsaw-step-02-error-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/chainsaw-step-02-error-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/manifests.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/manifests.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-clusterRoles/manifests.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-clusterRoles/manifests.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/chainsaw-step-02-error-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/chainsaw-step-02-error-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/chainsaw-step-02-error-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/chainsaw-step-02-error-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/manifests.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/manifests.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-match-roles/manifests.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-match-roles/manifests.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/chainsaw-step-02-error-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/chainsaw-step-02-error-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/chainsaw-step-02-error-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/chainsaw-step-02-error-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/manifests.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/manifests.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-roles/manifests.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-roles/manifests.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/chainsaw-step-02-error-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/chainsaw-step-02-error-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/chainsaw-step-02-error-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/chainsaw-step-02-error-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/manifests.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/manifests.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-serviceAccountName/manifests.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-serviceAccountName/manifests.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/chainsaw-step-02-error-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/chainsaw-step-02-error-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/chainsaw-step-02-error-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/chainsaw-step-02-error-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/manifests.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/manifests.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/background-vars-userInfo/manifests.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/background-vars-userInfo/manifests.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-02-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-02-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-02-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-02-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-02-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-02-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-02-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-02-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-03-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-03-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-step-03-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-step-03-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/audit(deprecated)/configmap-context-lookup/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/audit-deprecated/configmap-context-lookup/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/rbac.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/rbac.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/rbac.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/rbac.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/serviceaccount.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/serviceaccount.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/with-permissions/serviceaccount.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/with-permissions/serviceaccount.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/deployment.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/deployment.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/deployment.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/deployment.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/rbac.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/rbac.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/rbac.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/rbac.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/serviceaccount.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/serviceaccount.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/authorizor-checks/without-permissions/serviceaccount.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/authorizor-checks/without-permissions/serviceaccount.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/pod-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/pod-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/pod-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/pod-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/pod-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/pod-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/pod-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/pod-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-preconditions/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-preconditions/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/deployments-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/deployments-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/deployments-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/deployments-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/deployments-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/deployments-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/deployments-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/deployments-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/cel-variables/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/cel-variables/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/statefulset-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/statefulset-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/statefulset-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/statefulset-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/statefulset-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/statefulset-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/check-statefulset-namespace/statefulset-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/check-statefulset-namespace/statefulset-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/pod-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/pod-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/pod-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/pod-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/pod-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/pod-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/pod-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/pod-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/disallow-host-port/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/disallow-host-port/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/crd-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/crd-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/crd-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/crd-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/crd.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/crd.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/crd.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/crd.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/namespaceConstraint.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/namespaceConstraint.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/namespaceConstraint.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/namespaceConstraint.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/ns-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/ns-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/ns-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/ns-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/ns-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/ns-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/ns-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/ns-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/clusterscoped/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/clusterscoped/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/crd-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/crd-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/crd-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/crd-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/crd.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/crd.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/crd.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/crd.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/nameConstraint.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/nameConstraint.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/nameConstraint.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/nameConstraint.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/match-clusterscoped-resource/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/match-clusterscoped-resource/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/crd-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/crd-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/crd-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/crd-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/crd.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/crd.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/crd.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/crd.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/deployment-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/deployment-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/deployment-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/deployment-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/deployment-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/deployment-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/deployment-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/deployment-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/replicaLimit.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/replicaLimit.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/set-paramref-namespace/replicaLimit.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/set-paramref-namespace/replicaLimit.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/crd-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/crd-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/crd-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/crd-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/crd.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/crd.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/crd.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/crd.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/replicaLimit.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/replicaLimit.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/replicaLimit.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/replicaLimit.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/statefulset-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/statefulset-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/statefulset-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/statefulset-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/statefulset-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/statefulset-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/cel(deprecated)/parameter-resources/namespaced/unset-paramref-namespace/statefulset-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/cel-deprecated/parameter-resources/namespaced/unset-paramref-namespace/statefulset-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/policies-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/policies-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/policies-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/policies-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/policies.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/policies.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/policies.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/policies.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/resources.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/resources.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-pod/resources.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-pod/resources.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/policies-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/policies-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/policies-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/policies-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/policies.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/policies.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/policies.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/policies.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/resources.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/resources.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-subresource/resources.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-subresource/resources.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/policies-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/policies-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/policies-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/policies-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/policies.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/policies.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/policies.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/policies.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/resources.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/resources.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/debug(deprecated)/with-wildcard/resources.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/debug-deprecated/with-wildcard/resources.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/api-initiated-eviction.sh b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/api-initiated-eviction.sh
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/api-initiated-eviction.sh
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/api-initiated-eviction.sh
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/eviction.json b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/eviction.json
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/api-initiated-pod-eviction/eviction.json
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/api-initiated-pod-eviction/eviction.json
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/block-pod-exec-requests/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/block-pod-exec-requests/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-4.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-4.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-apply-1-4.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-apply-1-4.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-assert-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-assert-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-assert-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-assert-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-assert-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-assert-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-step-01-assert-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-step-01-assert-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/bypass-with-policy-exception/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/bypass-with-policy-exception/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/csr-mutated.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/csr-mutated.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/csr-mutated.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/csr-mutated.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/csr.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/csr.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/csr.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/csr.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/policy-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/policy-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/csr/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/csr/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/bad-pod-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/bad-pod-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/bad-pod-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/bad-pod-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/bad-pod-update-test.sh b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/bad-pod-update-test.sh
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/bad-pod-update-test.sh
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/bad-pod-update-test.sh
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/good-pod-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/good-pod-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/good-pod-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/good-pod-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/good-pod-update-test.sh b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/good-pod-update-test.sh
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/good-pod-update-test.sh
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/good-pod-update-test.sh
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/policy-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/policy-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/update-bad-pod-to-comply.sh b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/update-bad-pod-to-comply.sh
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/enforce-validate-existing/update-bad-pod-to-comply.sh
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/enforce-validate-existing/update-bad-pod-to-comply.sh
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/failure-policy-ignore-anchor/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/failure-policy-ignore-anchor/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/ns.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/ns.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/ns.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/pod-fail.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/pod-fail.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/pod-fail.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/pod-fail.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/pod-pass.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/pod-pass.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/pod-pass.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/pod-pass.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/ns-selector-with-wildcard-kind/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/ns-selector-with-wildcard-kind/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-step-03-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-step-03-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-step-03-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-step-03-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/resource.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-allnotin-01/resource.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-allnotin-01/resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/chainsaw-step-02-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/chainsaw-step-02-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/chainsaw-step-02-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/chainsaw-step-02-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/operator-anyin-boolean/pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/operator-anyin-boolean/pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-step-03-error-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-step-03-error-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-step-03-error-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-step-03-error-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/resource.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/resource-apply-block/resource.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/resource-apply-block/resource.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-step-01-assert-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/enforce(deprecated)/scaling-with-kubectl-scale/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/enforce-deprecated/scaling-with-kubectl-scale/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd-ready-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd-ready-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd-ready-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd-ready-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/crd.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/crd.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/task.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/task.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/gvk(deprecated)/task.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/gvk-deprecated/task.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/bad-pod-1.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/bad-pod-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/bad-pod-1.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/bad-pod-1.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/bad-pod-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/bad-pod-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/bad-pod-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/bad-pod-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/seccomp-latest-check-no-exclusion/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/seccomp-latest-check-no-exclusion/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/manifests.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/manifests.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/manifests.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/manifests.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-deletion-request/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-deletion-request/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-capabilities/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-capabilities/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-namespaces/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-namespaces/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-host-ports/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-host-ports/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostpath-volume/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostpath-volume/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-hostprocesses/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-hostprocesses/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privilege-escalation/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privilege-escalation/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-privileged-containers/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-privileged-containers/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-capabilities/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-capabilities/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-restricted-seccomp/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-restricted-seccomp/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot-user/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot-user/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-running-as-nonroot/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-running-as-nonroot/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-seccomp/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-seccomp/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-selinux/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-selinux/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-sysctls/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-sysctls/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/bad-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/bad-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/bad-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/excluded-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/excluded-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/excluded-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/excluded-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/good-pod.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/good-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/good-pod.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/good-pod.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/psa(deprecated)/test-exclusion-volume-types/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/psa-deprecated/test-exclusion-volume-types/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/policies-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/policies-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/policies-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/policies-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/policies.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/policies.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/policies.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/policies.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/resources.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/resources.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/subresource copy/resources.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/subresource-deprecated/resources.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/pod-bad.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/pod-bad.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/pod-bad.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/pod-bad.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/pod-good.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/pod-good.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/pod-good.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/pod-good.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/policy-2.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/policy-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/policy-2.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/policy-2.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/policy-assert.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/policy-assert.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/policy-assert.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/policy-assert.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/variables/lazyload/conditions-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage(deprecated)/README.md b/test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage(deprecated)/README.md
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/clusterpolicy/standard/wildcard/block-verifyimage-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/README.md b/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/README.md
rename to test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-apply-1-3.yaml b/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-apply-1-3.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-apply-1-3.yaml
rename to test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-apply-1-3.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/adding-key-to-config-map(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/e2e/adding-key-to-config-map-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/README.md b/test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/README.md
rename to test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/bad.yaml b/test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/bad.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/bad.yaml
rename to test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/bad.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/chainsaw-step-02-apply-1-1.yaml b/test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/chainsaw-step-02-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/chainsaw-step-02-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/chainsaw-step-02-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/global-anchor copy(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/e2e/global-anchor-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/README.md b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/README.md
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-apply-1-1.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-apply-1-2.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-apply-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-apply-1-2.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-apply-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-assert-1-1.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-assert-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-assert-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-assert-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-assert-1-2.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-assert-1-2.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-step-01-assert-1-2.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-step-01-assert-1-2.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/postgresqls-ready.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/postgresqls-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/postgresqls-ready.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/postgresqls-ready.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/postgresqls.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/postgresqls.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/postgresqls.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/postgresqls.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/resource.yaml b/test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/resource.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/lowercase-kind-crd(deprecated)/resource.yaml
rename to test/conformance/chainsaw/validate/e2e/lowercase-kind-crd-deprecated/resource.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/README.md b/test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/README.md
rename to test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/ns-ready.yaml b/test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/ns-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/ns-ready.yaml
rename to test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/ns-ready.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/ns-update.yaml b/test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/ns-update.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/ns-update.yaml
rename to test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/ns-update.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/ns.yaml b/test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/ns.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/ns.yaml
rename to test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/ns.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/old-object-exists(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/e2e/old-object-exists-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/README.md b/test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/README.md
rename to test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/bad.yaml b/test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/bad.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/bad.yaml
rename to test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/bad.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/chainsaw-step-02-apply-1-1.yaml b/test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/chainsaw-step-02-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/chainsaw-step-02-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/chainsaw-step-02-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/trusted-images(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/e2e/trusted-images-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/README.md b/test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/README.md
rename to test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/bad.yaml b/test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/bad.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/bad.yaml
rename to test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/bad.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/chainsaw-step-03-apply-1-1.yaml b/test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/chainsaw-step-03-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/chainsaw-step-03-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/chainsaw-step-03-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/x509-decode(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/e2e/x509-decode-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/README.md b/test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/README.md
rename to test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/README.md
diff --git a/test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/bad.yaml b/test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/bad.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/bad.yaml
rename to test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/bad.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/chainsaw-step-02-apply-1-1.yaml b/test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/chainsaw-step-02-apply-1-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/chainsaw-step-02-apply-1-1.yaml
rename to test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/chainsaw-step-02-apply-1-1.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/policy.yaml b/test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/validate/e2e/yaml-signing(deprecated)/policy.yaml
rename to test/conformance/chainsaw/validate/e2e/yaml-signing-deprecated/policy.yaml
diff --git a/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/README.md b/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/README.md
similarity index 100%
rename from test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/README.md
rename to test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/README.md
diff --git a/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/bad-pod.yaml b/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/bad-pod.yaml
similarity index 100%
rename from test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/bad-pod.yaml
rename to test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/bad-pod.yaml
diff --git a/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/chainsaw-step-02-apply-1.yaml b/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/chainsaw-step-02-apply-1.yaml
similarity index 100%
rename from test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/chainsaw-step-02-apply-1.yaml
rename to test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/chainsaw-step-02-apply-1.yaml
diff --git a/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/chainsaw-test.yaml b/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/chainsaw-test.yaml
similarity index 100%
rename from test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/chainsaw-test.yaml
rename to test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/chainsaw-test.yaml
diff --git a/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/policy-ready.yaml b/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/policy-ready.yaml
similarity index 100%
rename from test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/policy-ready.yaml
rename to test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/policy-ready.yaml
diff --git a/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/policy.yaml b/test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/policy.yaml
similarity index 100%
rename from test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success(deprecated)/policy.yaml
rename to test/conformance/chainsaw/verifyImages/clusterpolicy/standard/failure-policy-test-noconfigmap-diffimage-success-deprecated/policy.yaml
From 8a01d6db3129f062e0cd9d27823d3a1120c8dce8 Mon Sep 17 00:00:00 2001
From: Jim Bugwadia
Date: Wed, 17 Jul 2024 00:09:46 -0700
Subject: [PATCH 11/44] update governance (#10669)
Signed-off-by: Jim Bugwadia
---
CODE_OF_CONDUCT.md | 36 +-----------
CONTRIBUTING.md | 137 ++++-----------------------------------------
GOVERNANCE.md | 38 +------------
README.md | 6 +-
4 files changed, 18 insertions(+), 199 deletions(-)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 7d3ef13fea21..f8848736e2a9 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,36 +1,6 @@
-# Kyverno Community Code of Conduct v1.0
+# Code of Conduct
-## Contributor Code of Conduct
+[Kyverno and its sub-projects](https://github.com/kyverno#projects) follow the Code of Conduct published and maintained at https://github.com/kyverno/community/blob/main/CODE_OF_CONDUCT.md.
+
-As contributors and maintainers of this project, and in the interest of fostering
-an open and welcoming community, we pledge to respect all people who contribute
-through reporting issues, posting feature requests, updating documentation,
-submitting pull requests or patches, and other activities.
-We are committed to making participation in this project a harassment-free experience for
-everyone, regardless of level of experience, gender, gender identity and expression,
-sexual orientation, disability, personal appearance, body size, race, ethnicity, age,
-religion, or nationality.
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery
-* Personal attacks
-* Trolling or insulting/derogatory comments
-* Public or private harassment
-* Publishing other's private information, such as physical or electronic addresses, without explicit permission
-* Other unethical or unprofessional conduct.
-
-Project maintainers have the right and responsibility to remove, edit, or reject
-comments, commits, code, wiki edits, issues, and other contributions that are not
-aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers
-commit themselves to fairly and consistently applying these principles to every aspect
-of managing this project. Project maintainers who do not follow or enforce the Code of
-Conduct may be permanently removed from the project team.
-
-This code of conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community.
-
-Instances of abusive, harassing, or otherwise unacceptable behavior in Kubernetes may be reported by contacting the project maintainer(s).
-
-This Code of Conduct is adapted from the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) and the [Contributor Covenant](https://www.contributor-covenant.org/), [version 1.2.0](https://www.contributor-covenant.org/version/1/2/0/code-of-conduct/).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d7a73ec83b37..414a239e4b29 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,46 +1,24 @@
-# Contributing Guidelines for Kyverno
+# Contributor Guidelines for Kyverno
-We welcome all contributions, suggestions, and feedback, so please do not hesitate to reach out!
+[Kyverno and its sub-projects](https://github.com/kyverno#projects) follow the contributor guidelines published at: https://github.com/kyverno/community/blob/main/CODE_OF_CONDUCT.md.
-Before you contribute, please take a moment to review and agree to abide by our community [Code of Conduct](/CODE_OF_CONDUCT.md).
+Please review the general guidelines before proceeding further to the project specific information below.
-- [Contributing Guidelines for Kyverno](#contributing-guidelines-for-kyverno)
- - [Engage with us](#engage-with-us)
- - [Ways you can contribute](#ways-you-can-contribute)
- - [1. Report issues](#1-report-issues)
- - [2. Fix or Improve Documentation](#2-fix-or-improve-documentation)
- - [3. Submit Pull Requests](#3-submit-pull-requests)
- - [How to Create a PR](#how-to-create-a-pr)
- - [Developer Certificate of Origin (DCO) Sign off](#developer-certificate-of-origin-dco-sign-off)
- - [Release Processes](#release-processes)
+### Fix or Improve Kyverno Documentation
-## Engage with us
-
-The Kyverno website has the most updated information on [how to engage with the Kyverno community](https://kyverno.io/community/) including its maintainers and contributors. There are three classes of contributors possible: Contributor, Code Owner, and Maintainer. Please see the [Contributing section on the website](https://kyverno.io/community/#contributing) for the requirements and privileges afforded to each.
-
-Join our community meetings to learn more about Kyverno and engage with other contributors.
-
-## Ways you can contribute
-
-### 1. Report issues
-
-Issues to Kyverno help improve the project in multiple ways including the following:
-
-- Report potential bugs
-- Request a feature
-- Request a sample policy
+The [Kyverno website](https://kyverno.io), like the main Kyverno codebase, is stored in its own [git repo](https://github.com/kyverno/website). To get started with contributions to the documentation, [follow the guide](https://github.com/kyverno/website#contributing) on that repository.
-### 2. Fix or Improve Documentation
+### Developer Guides
-The [Kyverno website](https://kyverno.io), like the main Kyverno codebase, is stored in its own [git repo](https://github.com/kyverno/website). To get started with contributions to the documentation, [follow the guide](https://github.com/kyverno/website#contributing) on that repository.
+To learn about the code base and developer processes, refer to the [development guide](/DEVELOPMENT.md).
-### 3. Submit Pull Requests
+### Good First Issues
-[Pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) (PRs) allow you to contribute back the changes you've made on your side enabling others in the community to benefit from your hard work. They are the main source by which all changes are made to this project and are a standard piece of GitHub operational flows.
+Maintainers identify issues that are ideal for new contributors with a `good first issue` label.
-New contributors may easily view all [open issues labeled as good first issues](https://github.com/kyverno/kyverno/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) allowing you to get started in an approachable manner.
+View all Kyverno [good first issues](https://github.com/kyverno/kyverno/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
-Once you wish to get started contributing to the code base, please refer to our [development guide](/DEVELOPMENT.md) for a how-to.
+### Pull Request Guidelines
In the process of submitting your PRs, please read and abide by the template provided to ensure the maintainers are able to understand your changes and quickly come up to speed. There are some important pieces that are required outside the code itself. Some of these are up to you, others are up to the maintainers.
@@ -49,99 +27,6 @@ In the process of submitting your PRs, please read and abide by the template pro
3. Test your change with the [Kyverno CLI](https://kyverno.io/docs/kyverno-cli/) and provide a test manifest in the proper format. If your feature/fix does not work with the CLI, a separate issue requesting CLI support must be made. For changes which can be tested as an end user, we require conformance/e2e tests by using the `chainsaw` tool. See [here](https://github.com/kyverno/kyverno/tree/main/test/conformance/chainsaw/README.md) for a specific guide on how and when to write these tests.
4. Indicate which release this PR is triaged for (maintainers). This step is important especially for the documentation maintainers in order to understand when and where the necessary changes should be made.
-#### How to Create a PR
-
-Head over to the project repository on GitHub and click the **"Fork"** button. With the forked copy, you can try new ideas and implement changes to the project.
-
-1. **Clone the repository to your device:**
-
-Get the link of your forked repository, paste it in your device terminal and clone it using the command.
-
-```sh
-git clone https://hostname/YOUR-USERNAME/YOUR-REPOSITORY
-```
-
-2. **Create a branch:**
-
-Create a new brach and navigate to the branch using this command.
-
-```sh
-git checkout -b
-```
-
-Great, it's time to start hacking! You can now go ahead to make all the changes you want.
-
-3. **Stage, Commit, and Push changes:**
-
-Now that we have implemented the required changes, use the command below to stage the changes and commit them.
-
-```sh
-git add .
-```
-
-```sh
-git commit -s -m "Commit message"
-```
-
-The `-s` signifies that you have signed off the commit.
-
-Go ahead and push your changes to GitHub using this command.
-
-```sh
-git push
-```
-
-#### Cherry-pick PRs to release branches
-
-Add repository as remote
-
-```sh
-git remote add https://github.com/kyverno/kyverno
-```
-Then fetch the branches of remote:
-
-```sh
-git fetch
-```
-
- You will notice that there are a number of branches related to Kyverno's releases such as release-1.7. You can always view the list of remote branches by using the command below:
-
-```sh
-$ git branch -r
-...
-origin/release-1.5
-origin/release-1.6
-origin/release-1.7
-```
-
-Checkout one of the release branch and cherry-pick the PRs you want to merge into the release branch:
-
-```sh
-$ git checkout release-1.7
-
-git cherry-pick -s
-
-git push --set-upstream origin release-1.7
-```
-
-Once the commit has been cherry-picked, the author will need to open a PR merging to the release branch, release-1.7 for example.
-
-#### Developer Certificate of Origin (DCO) Sign off
-
-For contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project, we are requiring everyone to acknowledge this by signing their work which indicates you agree to the DCO found [here](https://developercertificate.org/).
-
-To sign your work, just add a line like this at the end of your commit message:
-
-```sh
-Signed-off-by: Random J Developer
-```
-
-This can easily be done with the `-s` command line option to append this automatically to your commit message.
-
-```sh
-git commit -s -m 'This is my commit message'
-```
-
## Release Processes
Review the Kyverno release process at: https://kyverno.io/docs/releases/
diff --git a/GOVERNANCE.md b/GOVERNANCE.md
index 139a135470ef..66ae53316445 100644
--- a/GOVERNANCE.md
+++ b/GOVERNANCE.md
@@ -1,39 +1,3 @@
# Kyverno Governance
-This document defines governance policies for the Kyverno project.
-
-- [Principles](#principles)
-- [Code of Conduct](#code-of-conduct)
-- [Meetings](#meetings)
-- [Roles and Process in the Kyverno Community](#roles)
-- [Conflict Resolutions](#conflict-resolutions)
-- [Changes](#changes)
-- [Credits](#credits)
-
-## Principles
-The Kyverno project community adheres to the following principles:
-
-- Open: The Kyverno community strives to be open, accessible and welcoming to everyone. Anyone may contribute, and contributions are available to all users according to open source values and licenses.
-- Transparent and accessible: Any changes to the Kyverno source code and collaborations on the project are publicly accessible (GitHub issues, PRs, and discussions).
-- Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, scope, and design principles.
-
-
-## Code of Conduct
-Kyverno follow the [Code of Conduct](CODE_OF_CONDUCT.md), which is aligned with the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
-
-## Meetings
-Kyverno community meetings follow a defined [schedule](https://kyverno.io/community/#community-meetings).
-
-The maintainers will also have closed meetings in order to discuss security reports or Code of Conduct violations. Such meetings should be scheduled by any maintainer on receipt of a security issue or CoC report. All current Maintainers must be invited to such closed meetings, except for any maintainer who is accused of a CoC violation.
-
-## Roles
-The Kyverno project welcomes all contributors and has well-defined roles specified at [Project Roles](https://kyverno.io/community/#project-roles).
-
-## Conflict Resolutions
-Typically, it is assumed that disputes will be resolved amicably by those involved. However, if the situation becomes more serious, conflicts will be resolved through a voting process. A supermajority of votes from project maintainers is required to make a decision, and the project lead has the final say in the ruling.
-
-## Changes
-This Project Governance is a living document. All key project changes including changes in project governance can be proposed by a GitHub PR and then reviewed and voted on by project maintainers.
-
-## Credits
-Sections of this document have been borrowed from the [CoreDNS](https://github.com/coredns/coredns/blob/master/GOVERNANCE.md) and [fluxcd](https://github.com/fluxcd/community/blob/main/GOVERNANCE.md) projects.
\ No newline at end of file
+[Kyverno and its sub-projects](https://github.com/kyverno#projects) follow the governance published and maintained at https://github.com/kyverno/community/blob/main/GOVERNANCE.md.
diff --git a/README.md b/README.md
index 782de911c3b9..75db6e5321fc 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@
![logo](img/Kyverno_Horizontal.png)
-Kyverno is a policy engine designed for Kubernetes platform engineering teams. It enables security, automation, compliance, and governance using policy-as-code. Kyverno can validate, mutate, generate, and cleanup configurations using Kubernetes admission controls, background scans, and source code respository scans. Kyverno policies can be managed as Kubernetes resources and do not require learning a new language. Kyverno is designed to work nicely with tools you already use like kubectl, kustomize, and Git.
+Kyverno is a policy engine designed for cloud native platform engineering teams. It enables security, automation, compliance, and governance using policy-as-code. Kyverno can validate, mutate, generate, and cleanup configurations using Kubernetes admission controls, background scans, and source code respository scans. Kyverno policies can also be used to verify OCI images, for software supply chain security. Kyverno policies can be managed as Kubernetes resources and do not require learning a new language. Kyverno is designed to work nicely with tools you already use like kubectl, kustomize, and Git.
Date: Wed, 17 Jul 2024 12:09:03 +0000
Subject: [PATCH 12/44] chore(deps): bump cbrgm/cleanup-stale-branches-action
(#10661)
Bumps [cbrgm/cleanup-stale-branches-action](https://github.com/cbrgm/cleanup-stale-branches-action) from 1.1.18 to 1.1.19.
- [Release notes](https://github.com/cbrgm/cleanup-stale-branches-action/releases)
- [Commits](https://github.com/cbrgm/cleanup-stale-branches-action/compare/d0f8b6440d1a5eb71cec3ebe376d83a74b901ca0...03d7d18e1a5ca5663846c6399e0614941d4985c3)
---
updated-dependencies:
- dependency-name: cbrgm/cleanup-stale-branches-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/clean-stale-branches.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/clean-stale-branches.yaml b/.github/workflows/clean-stale-branches.yaml
index af0025905084..48b123cabe17 100644
--- a/.github/workflows/clean-stale-branches.yaml
+++ b/.github/workflows/clean-stale-branches.yaml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cleanup Stale Branches
- uses: cbrgm/cleanup-stale-branches-action@d0f8b6440d1a5eb71cec3ebe376d83a74b901ca0 # v1.1.18
+ uses: cbrgm/cleanup-stale-branches-action@03d7d18e1a5ca5663846c6399e0614941d4985c3 # v1.1.19
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
From c977844b39682be84cf064ddce1b181a00b2ee4f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 17 Jul 2024 14:43:22 +0000
Subject: [PATCH 13/44] chore(deps): bump github/codeql-action from 3.25.11 to
3.25.12 (#10662)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b611370bb5703a7efb587f9d136a52ea24c5c38c...4fa2a7953630fd2f3fb380f21be14ede0169dd4f)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecard.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml
index 75b81f1e8167..baf13854a052 100644
--- a/.github/workflows/scorecard.yaml
+++ b/.github/workflows/scorecard.yaml
@@ -40,6 +40,6 @@ jobs:
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
+ uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12
with:
sarif_file: results.sarif
From d738d1fef40e598ac6ebca6fc68c24169458c4d2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 17 Jul 2024 15:33:07 +0000
Subject: [PATCH 14/44] chore(deps): bump
github.com/google/go-containerregistry (#10670)
Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.20.0 to 0.20.1.
- [Release notes](https://github.com/google/go-containerregistry/releases)
- [Changelog](https://github.com/google/go-containerregistry/blob/main/.goreleaser.yml)
- [Commits](https://github.com/google/go-containerregistry/compare/v0.20.0...v0.20.1)
---
updated-dependencies:
- dependency-name: github.com/google/go-containerregistry
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: shuting
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 3a3a627acb4a..1dac6612ca2c 100644
--- a/go.mod
+++ b/go.mod
@@ -25,7 +25,7 @@ require (
github.com/go-logr/logr v1.4.2
github.com/go-logr/zapr v1.3.0
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49
- github.com/google/go-containerregistry v0.20.0
+ github.com/google/go-containerregistry v0.20.1
github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20240530172801-3764db238e3e
github.com/in-toto/in-toto-golang v0.9.0
github.com/jmoiron/jsonq v0.0.0-20150511023944-e874b168d07e
diff --git a/go.sum b/go.sum
index 9691f54b1a1e..04250b0505b1 100644
--- a/go.sum
+++ b/go.sum
@@ -451,8 +451,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/go-containerregistry v0.20.0 h1:wRqHpOeVh3DnenOrPy9xDOLdnLatiGuuNRVelR2gSbg=
-github.com/google/go-containerregistry v0.20.0/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI=
+github.com/google/go-containerregistry v0.20.1 h1:eTgx9QNYugV4DN5mz4U8hiAGTi1ybXn0TPi4Smd8du0=
+github.com/google/go-containerregistry v0.20.1/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI=
github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20240530172801-3764db238e3e h1:4HrYlQDhLjT1ys3ts5xGT2XKhK3qh0kbpxE8sw6Au7I=
github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20240530172801-3764db238e3e/go.mod h1:8oYKXummIO/NNasXRCKr4DBziuA1MZ+VEhSQMYI8aJ0=
github.com/google/go-github/v55 v55.0.0 h1:4pp/1tNMB9X/LuAhs5i0KQAE40NmiR/y6prLNb9x9cg=
From 279895c60056b1552476663b0fa814cb0e7d7597 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 17 Jul 2024 16:31:08 +0000
Subject: [PATCH 15/44] chore(deps): bump github.com/cyphar/filepath-securejoin
(#10652)
Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.2.5 to 0.3.0.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.2.5...v0.3.0)
---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 1dac6612ca2c..52a028f25652 100644
--- a/go.mod
+++ b/go.mod
@@ -13,7 +13,7 @@ require (
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20240525144225-0fe7eafab216
github.com/blang/semver/v4 v4.0.0
github.com/cenkalti/backoff v2.2.1+incompatible
- github.com/cyphar/filepath-securejoin v0.2.5
+ github.com/cyphar/filepath-securejoin v0.3.0
github.com/dgraph-io/ristretto v0.1.1
github.com/distribution/reference v0.6.0
github.com/evanphx/json-patch/v5 v5.9.0
diff --git a/go.sum b/go.sum
index 04250b0505b1..d3aed0fb8a85 100644
--- a/go.sum
+++ b/go.sum
@@ -249,8 +249,8 @@ github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0=
github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f h1:eHnXnuK47UlSTOQexbzxAZfekVz6i+LKRdj1CU5DPaM=
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw=
-github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo=
-github.com/cyphar/filepath-securejoin v0.2.5/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
+github.com/cyphar/filepath-securejoin v0.3.0 h1:tXpmbiaeBrS/K2US8nhgwdKYnfAOnVfkcLPKFgFHeA0=
+github.com/cyphar/filepath-securejoin v0.3.0/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc=
github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs=
github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
From 1f0ce82d118515f9d387e832d8b8ba706d4ff028 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 18 Jul 2024 15:36:46 +0800
Subject: [PATCH 16/44] chore(deps): bump k8s.io/api from 0.30.2 to 0.30.3
(#10674)
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.30.2 to 0.30.3.
- [Commits](https://github.com/kubernetes/api/compare/v0.30.2...v0.30.3)
---
updated-dependencies:
- dependency-name: k8s.io/api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index 52a028f25652..e2a9d3d0b1cf 100644
--- a/go.mod
+++ b/go.mod
@@ -74,9 +74,9 @@ require (
gopkg.in/inf.v0 v0.9.1
gopkg.in/yaml.v2 v2.4.0
gotest.tools v2.2.0+incompatible
- k8s.io/api v0.30.2
+ k8s.io/api v0.30.3
k8s.io/apiextensions-apiserver v0.30.1
- k8s.io/apimachinery v0.30.2
+ k8s.io/apimachinery v0.30.3
k8s.io/apiserver v0.30.1
k8s.io/cli-runtime v0.30.2
k8s.io/client-go v0.30.2
diff --git a/go.sum b/go.sum
index d3aed0fb8a85..375f75b2345c 100644
--- a/go.sum
+++ b/go.sum
@@ -1204,12 +1204,12 @@ gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-k8s.io/api v0.30.2 h1:+ZhRj+28QT4UOH+BKznu4CBgPWgkXO7XAvMcMl0qKvI=
-k8s.io/api v0.30.2/go.mod h1:ULg5g9JvOev2dG0u2hig4Z7tQ2hHIuS+m8MNZ+X6EmI=
+k8s.io/api v0.30.3 h1:ImHwK9DCsPA9uoU3rVh4QHAHHK5dTSv1nxJUapx8hoQ=
+k8s.io/api v0.30.3/go.mod h1:GPc8jlzoe5JG3pb0KJCSLX5oAFIW3/qNJITlDj8BH04=
k8s.io/apiextensions-apiserver v0.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws=
k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4=
-k8s.io/apimachinery v0.30.2 h1:fEMcnBj6qkzzPGSVsAZtQThU62SmQ4ZymlXRC5yFSCg=
-k8s.io/apimachinery v0.30.2/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
+k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
+k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apiserver v0.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
k8s.io/cli-runtime v0.30.2 h1:ooM40eEJusbgHNEqnHziN9ZpLN5U4WcQGsdLKVxpkKE=
From bdf961357261b751bacae5487d0c0a5b96bc7851 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 18 Jul 2024 09:19:55 +0000
Subject: [PATCH 17/44] chore(deps): bump k8s.io/apimachinery from 0.30.2 to
0.30.3 (#10676)
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.30.2 to 0.30.3.
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.30.2...v0.30.3)
---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
From 90b24c70e5c7974a3de81c8a07309af3cd5089c7 Mon Sep 17 00:00:00 2001
From: shuting
Date: Thu, 18 Jul 2024 19:06:47 +0800
Subject: [PATCH 18/44] disable up cleanup crobjob (#10678)
Signed-off-by: ShutingZhao
---
charts/kyverno/README.md | 2 +-
charts/kyverno/values.yaml | 2 +-
config/install-latest-testing.yaml | 50 ------------------------------
3 files changed, 2 insertions(+), 52 deletions(-)
diff --git a/charts/kyverno/README.md b/charts/kyverno/README.md
index cc4df33b3b54..25dbe344b173 100644
--- a/charts/kyverno/README.md
+++ b/charts/kyverno/README.md
@@ -728,7 +728,7 @@ The chart values are organised per component.
| Key | Type | Default | Description |
|-----|------|---------|-------------|
-| cleanupJobs.updateRequests.enabled | bool | `true` | Enable cleanup cronjob |
+| cleanupJobs.updateRequests.enabled | bool | `false` | Enable cleanup cronjob |
| cleanupJobs.updateRequests.backoffLimit | int | `3` | Maximum number of retries before considering a Job as failed. Defaults to 3. |
| cleanupJobs.updateRequests.ttlSecondsAfterFinished | string | `""` | Time until the pod from the cronjob is deleted |
| cleanupJobs.updateRequests.image.registry | string | `nil` | Image registry |
diff --git a/charts/kyverno/values.yaml b/charts/kyverno/values.yaml
index 42f0d0974e90..02de664dfe7d 100644
--- a/charts/kyverno/values.yaml
+++ b/charts/kyverno/values.yaml
@@ -687,7 +687,7 @@ cleanupJobs:
updateRequests:
# -- Enable cleanup cronjob
- enabled: true
+ enabled: false
# -- Maximum number of retries before considering a Job as failed. Defaults to 3.
backoffLimit: 3
diff --git a/config/install-latest-testing.yaml b/config/install-latest-testing.yaml
index f061435a6a5a..0ca855e3a4c0 100644
--- a/config/install-latest-testing.yaml
+++ b/config/install-latest-testing.yaml
@@ -45333,53 +45333,3 @@ spec:
volumes:
- name: sigstore
emptyDir: {}
----
-apiVersion: batch/v1
-kind: CronJob
-metadata:
- name: kyverno-cleanup-update-requests
- namespace: kyverno
- labels:
- app.kubernetes.io/component: cleanup
- app.kubernetes.io/instance: kyverno
- app.kubernetes.io/part-of: kyverno
- app.kubernetes.io/version: latest
-spec:
- schedule: "*/10 * * * *"
- concurrencyPolicy: Forbid
- successfulJobsHistoryLimit: 1
- failedJobsHistoryLimit: 1
- jobTemplate:
- spec:
- backoffLimit: 3
- template:
- metadata:
- spec:
- serviceAccountName: kyverno-cleanup-jobs
- containers:
- - name: cleanup
- image: "bitnami/kubectl:1.30.2"
- imagePullPolicy:
- command:
- - /bin/bash
- - -c
- - |
- set -euo pipefail
- COUNT=$(kubectl get updaterequests.kyverno.io -A | wc -l)
- if [ "$COUNT" -gt 10000 ]; then
- echo "too many updaterequests found ($COUNT), cleaning up..."
- kubectl delete updaterequests.kyverno.io --all -n kyverno
- else
- echo "($COUNT) reports found, no clean up needed"
- fi
- securityContext:
- allowPrivilegeEscalation: false
- capabilities:
- drop:
- - ALL
- privileged: false
- readOnlyRootFilesystem: true
- runAsNonRoot: true
- seccompProfile:
- type: RuntimeDefault
- restartPolicy: OnFailure
From e9424a1be3423b2f1d45df5776bf15d6a49e116c Mon Sep 17 00:00:00 2001
From: shuting
Date: Fri, 19 Jul 2024 16:59:28 +0800
Subject: [PATCH 19/44] extend timestamp (#10679)
Signed-off-by: ShutingZhao
---
.nancy-ignore | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/.nancy-ignore b/.nancy-ignore
index b52e57abcf50..8bde1744cc5d 100644
--- a/.nancy-ignore
+++ b/.nancy-ignore
@@ -1,6 +1,6 @@
-# golang/k8s.io/apiserver@v0.29.2
-CVE-2020-8561 until=2024-06-30
-# golang/github.com/notaryproject/notation-go@v1.1.0
-CVE-2024-23332 until=2024-06-30
-# golang/github.com/hashicorp/vault/api@v1.12.2
-CVE-2024-2660 until=2024-06-30
+# golang/k8s.io/apiserver@v0.30.1
+CVE-2020-8561 until=2024-12-30
+# golang/github.com/notaryproject/notation-go@v1.1.1
+CVE-2024-23332 until=2024-12-30
+# golang/github.com/hashicorp/vault/api@v1.14.0
+CVE-2024-2660 until=2024-12-30
From 5f258c47d2d19b7a530dda349c44b8a6ccce8131 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 19 Jul 2024 09:49:18 +0000
Subject: [PATCH 20/44] chore(deps): bump k8s.io/client-go from 0.30.2 to
0.30.3 (#10689)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.30.2 to 0.30.3.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.30.2...v0.30.3)
---
updated-dependencies:
- dependency-name: k8s.io/client-go
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index e2a9d3d0b1cf..97196657883c 100644
--- a/go.mod
+++ b/go.mod
@@ -79,7 +79,7 @@ require (
k8s.io/apimachinery v0.30.3
k8s.io/apiserver v0.30.1
k8s.io/cli-runtime v0.30.2
- k8s.io/client-go v0.30.2
+ k8s.io/client-go v0.30.3
k8s.io/klog/v2 v2.130.1
k8s.io/kube-aggregator v0.30.1
k8s.io/pod-security-admission v0.30.1
diff --git a/go.sum b/go.sum
index 375f75b2345c..848193fcbc5e 100644
--- a/go.sum
+++ b/go.sum
@@ -1214,8 +1214,8 @@ k8s.io/apiserver v0.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
k8s.io/cli-runtime v0.30.2 h1:ooM40eEJusbgHNEqnHziN9ZpLN5U4WcQGsdLKVxpkKE=
k8s.io/cli-runtime v0.30.2/go.mod h1:Y4g/2XezFyTATQUbvV5WaChoUGhojv/jZAtdp5Zkm0A=
-k8s.io/client-go v0.30.2 h1:sBIVJdojUNPDU/jObC+18tXWcTJVcwyqS9diGdWHk50=
-k8s.io/client-go v0.30.2/go.mod h1:JglKSWULm9xlJLx4KCkfLLQ7XwtlbflV6uFFSHTMgVs=
+k8s.io/client-go v0.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k=
+k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U=
k8s.io/component-base v0.30.1 h1:bvAtlPh1UrdaZL20D9+sWxsJljMi0QZ3Lmw+kmZAaxQ=
k8s.io/component-base v0.30.1/go.mod h1:e/X9kDiOebwlI41AvBHuWdqFriSRrX50CdwA9TFaHLI=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
From 04f4fc9a89a322732bc0c058498296a1edeea312 Mon Sep 17 00:00:00 2001
From: Laurent Lavaud
Date: Fri, 19 Jul 2024 13:56:11 +0200
Subject: [PATCH 21/44] fix(helm): remove namespace from RoleBinding/roleRef
field (#10685)
- namespace is not a valid parameter for a RoleBinding/roleRef field
Signed-off-by: Laurent Lavaud
---
charts/kyverno/templates/hooks/pre-delete-configmap.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/charts/kyverno/templates/hooks/pre-delete-configmap.yaml b/charts/kyverno/templates/hooks/pre-delete-configmap.yaml
index 1e225c93615e..116fdc848537 100644
--- a/charts/kyverno/templates/hooks/pre-delete-configmap.yaml
+++ b/charts/kyverno/templates/hooks/pre-delete-configmap.yaml
@@ -36,7 +36,6 @@ roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ template "kyverno.fullname" . }}:remove-configmap
- namespace: {{ template "kyverno.namespace" . }}
subjects:
- kind: ServiceAccount
name: {{ template "kyverno.fullname" . }}-remove-configmap
From 0abaa4106ce7396a91d72c7af6b4da8fe87b7334 Mon Sep 17 00:00:00 2001
From: shuting
Date: Fri, 19 Jul 2024 21:06:31 +0800
Subject: [PATCH 22/44] add 1.12.6 (#10691)
Signed-off-by: ShutingZhao
---
.github/ISSUE_TEMPLATE/bug-cli.yaml | 1 +
.github/ISSUE_TEMPLATE/bug-other.yaml | 1 +
.github/ISSUE_TEMPLATE/bug-webhook.yaml | 1 +
3 files changed, 3 insertions(+)
diff --git a/.github/ISSUE_TEMPLATE/bug-cli.yaml b/.github/ISSUE_TEMPLATE/bug-cli.yaml
index 8806d1a2f791..0b151db7e67a 100644
--- a/.github/ISSUE_TEMPLATE/bug-cli.yaml
+++ b/.github/ISSUE_TEMPLATE/bug-cli.yaml
@@ -44,6 +44,7 @@ body:
- 1.12.2
- 1.12.3
- 1.12.4
+ - 1.12.5
validations:
required: true
- type: textarea
diff --git a/.github/ISSUE_TEMPLATE/bug-other.yaml b/.github/ISSUE_TEMPLATE/bug-other.yaml
index 693bfacc1355..ea3af73841f5 100644
--- a/.github/ISSUE_TEMPLATE/bug-other.yaml
+++ b/.github/ISSUE_TEMPLATE/bug-other.yaml
@@ -43,6 +43,7 @@ body:
- 1.12.2
- 1.12.3
- 1.12.4
+ - 1.12.5
validations:
required: true
- type: textarea
diff --git a/.github/ISSUE_TEMPLATE/bug-webhook.yaml b/.github/ISSUE_TEMPLATE/bug-webhook.yaml
index 46e05eb918b5..e4ba65808bc1 100644
--- a/.github/ISSUE_TEMPLATE/bug-webhook.yaml
+++ b/.github/ISSUE_TEMPLATE/bug-webhook.yaml
@@ -43,6 +43,7 @@ body:
- 1.12.2
- 1.12.3
- 1.12.4
+ - 1.12.5
validations:
required: true
- type: dropdown
From 974da43c55425e391e2215e1f1f0ddb334d2195d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 21 Jul 2024 21:57:21 +0000
Subject: [PATCH 23/44] chore(deps): bump k8s.io/cli-runtime from 0.30.2 to
0.30.3 (#10690)
Bumps [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) from 0.30.2 to 0.30.3.
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.30.2...v0.30.3)
---
updated-dependencies:
- dependency-name: k8s.io/cli-runtime
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 97196657883c..6b8c8fd75440 100644
--- a/go.mod
+++ b/go.mod
@@ -78,7 +78,7 @@ require (
k8s.io/apiextensions-apiserver v0.30.1
k8s.io/apimachinery v0.30.3
k8s.io/apiserver v0.30.1
- k8s.io/cli-runtime v0.30.2
+ k8s.io/cli-runtime v0.30.3
k8s.io/client-go v0.30.3
k8s.io/klog/v2 v2.130.1
k8s.io/kube-aggregator v0.30.1
diff --git a/go.sum b/go.sum
index 848193fcbc5e..232058442d0a 100644
--- a/go.sum
+++ b/go.sum
@@ -1212,8 +1212,8 @@ k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apiserver v0.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
-k8s.io/cli-runtime v0.30.2 h1:ooM40eEJusbgHNEqnHziN9ZpLN5U4WcQGsdLKVxpkKE=
-k8s.io/cli-runtime v0.30.2/go.mod h1:Y4g/2XezFyTATQUbvV5WaChoUGhojv/jZAtdp5Zkm0A=
+k8s.io/cli-runtime v0.30.3 h1:aG69oRzJuP2Q4o8dm+f5WJIX4ZBEwrvdID0+MXyUY6k=
+k8s.io/cli-runtime v0.30.3/go.mod h1:hwrrRdd9P84CXSKzhHxrOivAR9BRnkMt0OeP5mj7X30=
k8s.io/client-go v0.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k=
k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U=
k8s.io/component-base v0.30.1 h1:bvAtlPh1UrdaZL20D9+sWxsJljMi0QZ3Lmw+kmZAaxQ=
From af8d4f9260c5833790655d8e18365a03fa9aa85c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 22 Jul 2024 07:14:22 +0000
Subject: [PATCH 24/44] chore(deps): bump github/codeql-action from 3.25.12 to
3.25.13 (#10697)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.12 to 3.25.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/4fa2a7953630fd2f3fb380f21be14ede0169dd4f...2d790406f505036ef40ecba973cc774a50395aac)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecard.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml
index baf13854a052..9cb9e1135b5d 100644
--- a/.github/workflows/scorecard.yaml
+++ b/.github/workflows/scorecard.yaml
@@ -40,6 +40,6 @@ jobs:
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12
+ uses: github/codeql-action/upload-sarif@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13
with:
sarif_file: results.sarif
From 0421c44659b5162ef573cef338954eafaa6bd460 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 22 Jul 2024 10:34:31 +0000
Subject: [PATCH 25/44] chore(deps): bump sigs.k8s.io/kustomize/kyaml from
0.17.1 to 0.17.2 (#10695)
Bumps [sigs.k8s.io/kustomize/kyaml](https://github.com/kubernetes-sigs/kustomize) from 0.17.1 to 0.17.2.
- [Release notes](https://github.com/kubernetes-sigs/kustomize/releases)
- [Commits](https://github.com/kubernetes-sigs/kustomize/compare/api/v0.17.1...api/v0.17.2)
---
updated-dependencies:
- dependency-name: sigs.k8s.io/kustomize/kyaml
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 6b8c8fd75440..d8b8798460d6 100644
--- a/go.mod
+++ b/go.mod
@@ -87,7 +87,7 @@ require (
sigs.k8s.io/controller-runtime v0.18.4
sigs.k8s.io/kubectl-validate v0.0.4
sigs.k8s.io/kustomize/api v0.17.2
- sigs.k8s.io/kustomize/kyaml v0.17.1
+ sigs.k8s.io/kustomize/kyaml v0.17.2
sigs.k8s.io/release-utils v0.8.3
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
sigs.k8s.io/yaml v1.4.0
diff --git a/go.sum b/go.sum
index 232058442d0a..7ebc11e41071 100644
--- a/go.sum
+++ b/go.sum
@@ -1242,8 +1242,8 @@ sigs.k8s.io/kubectl-validate v0.0.4 h1:tGKuv0awYHn11Cb6KPsZKxUmHgavF46K3NvVH0Nse
sigs.k8s.io/kubectl-validate v0.0.4/go.mod h1:JTm3G+JZLPISqABh73uV7s/sW28q2zZqnTghOzahEKA=
sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g=
sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0=
-sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ=
-sigs.k8s.io/kustomize/kyaml v0.17.1/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
+sigs.k8s.io/kustomize/kyaml v0.17.2 h1:+AzvoJUY0kq4QAhH/ydPHHMRLijtUKiyVyh7fOSshr0=
+sigs.k8s.io/kustomize/kyaml v0.17.2/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
sigs.k8s.io/release-utils v0.8.3 h1:KtOtA4qDmzJyeQ2zkDsFVI25+NViwms/o5eL2NftFdA=
sigs.k8s.io/release-utils v0.8.3/go.mod h1:fp82Fma06OXBhEJ+GUJKqvcplDBomruK1R/1fWJnsrQ=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
From 2f9f33183f1b8368a55ce1fdbb5274eaf02a6e51 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 23 Jul 2024 17:16:06 +0800
Subject: [PATCH 26/44] chore(deps): bump sigs.k8s.io/kustomize/api from 0.17.2
to 0.17.3 (#10696)
Bumps [sigs.k8s.io/kustomize/api](https://github.com/kubernetes-sigs/kustomize) from 0.17.2 to 0.17.3.
- [Release notes](https://github.com/kubernetes-sigs/kustomize/releases)
- [Commits](https://github.com/kubernetes-sigs/kustomize/compare/api/v0.17.2...api/v0.17.3)
---
updated-dependencies:
- dependency-name: sigs.k8s.io/kustomize/api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index d8b8798460d6..d983e4657ea1 100644
--- a/go.mod
+++ b/go.mod
@@ -86,7 +86,7 @@ require (
k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0
sigs.k8s.io/controller-runtime v0.18.4
sigs.k8s.io/kubectl-validate v0.0.4
- sigs.k8s.io/kustomize/api v0.17.2
+ sigs.k8s.io/kustomize/api v0.17.3
sigs.k8s.io/kustomize/kyaml v0.17.2
sigs.k8s.io/release-utils v0.8.3
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
diff --git a/go.sum b/go.sum
index 7ebc11e41071..38cdf8507c33 100644
--- a/go.sum
+++ b/go.sum
@@ -1240,8 +1240,8 @@ sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMm
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/kubectl-validate v0.0.4 h1:tGKuv0awYHn11Cb6KPsZKxUmHgavF46K3NvVH0Nse9U=
sigs.k8s.io/kubectl-validate v0.0.4/go.mod h1:JTm3G+JZLPISqABh73uV7s/sW28q2zZqnTghOzahEKA=
-sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g=
-sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0=
+sigs.k8s.io/kustomize/api v0.17.3 h1:6GCuHSsxq7fN5yhF2XrC+AAr8gxQwhexgHflOAD/JJU=
+sigs.k8s.io/kustomize/api v0.17.3/go.mod h1:TuDH4mdx7jTfK61SQ/j1QZM/QWR+5rmEiNjvYlhzFhc=
sigs.k8s.io/kustomize/kyaml v0.17.2 h1:+AzvoJUY0kq4QAhH/ydPHHMRLijtUKiyVyh7fOSshr0=
sigs.k8s.io/kustomize/kyaml v0.17.2/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
sigs.k8s.io/release-utils v0.8.3 h1:KtOtA4qDmzJyeQ2zkDsFVI25+NViwms/o5eL2NftFdA=
From db45329cd669ab1b2f33d952fe6212ce894476bc Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 23 Jul 2024 10:10:59 +0000
Subject: [PATCH 27/44] chore(deps): bump docker/login-action from 3.2.0 to
3.3.0 (#10704)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/0d4c9c5ea7693da7b068278f7b52bda2a190a446...9780b0c442fbb1117ed29e0efdff1e18412f7567)
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/release.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index d5b95d21118e..72d487649df4 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -300,7 +300,7 @@ jobs:
file_glob: true
tag: ${{ github.ref }}
- name: Login to GHCR
- uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
+ uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
From f9a8388c14549d2821b0d9906dc1955606607f38 Mon Sep 17 00:00:00 2001
From: Geetha Madhuri Bojanki
<106727251+Geetha-Bojanki@users.noreply.github.com>
Date: Wed, 24 Jul 2024 12:48:39 +0530
Subject: [PATCH 28/44] Updated the outdated example mentioned in
Development.md file with latest one (#10706)
* Updated Expose the endpoint on a local port section in DEVELOPMENT.md file
Signed-off-by: Geetha Madhuri
* Updated the outdated example mentioned in Development.md file with latest one
Signed-off-by: Geetha Madhuri
---------
Signed-off-by: Geetha Madhuri
---
DEVELOPMENT.md | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index bfa71a7b9382..9e7fc84072f9 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -455,14 +455,27 @@ You can get at the application in the pod by port forwarding with kubectl, for e
````shell
$ kubectl -n kyverno get pod
-NAME READY STATUS RESTARTS AGE
-kyverno-7d67c967c6-slbpr 1/1 Running 0 19s
+NAME READY STATUS RESTARTS AGE
+kyverno-admission-controller-57df6c565f-pxpnh 1/1 Running 0 20s
+kyverno-background-controller-766589695-dhj9m 1/1 Running 0 20s
+kyverno-cleanup-controller-54466dfbc6-5mlrc 1/1 Running 0 19s
+kyverno-cleanup-update-requests-28695530-ft975 1/1 Running 0 19s
+kyverno-reports-controller-76c49549f4-tljwm 1/1 Running 0 20s
````
+Check the port of the pod you'd like to forward using the command below.
+
+````bash
+$ kubectl get pod kyverno-admission-controller-57df6c565f-pxpnh -n kyverno --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
+9443
+````
+
+Use the exposed port from above to run port-forward with the below command.
+
````bash
-$ kubectl -n kyverno port-forward kyverno-7d67c967c6-slbpr 6060
-Forwarding from 127.0.0.1:6060 -> 6060
-Forwarding from [::1]:6060 -> 6060
+$ kubectl -n kyverno port-forward kyverno-admission-controller-57df6c565f-pxpnh 6060:9443
+Forwarding from 127.0.0.1:6060 -> 9443
+Forwarding from [::1]:6060 -> 9443
````
The HTTP endpoint will now be available as a local port.
From f539e854bee118327028b6ddc24e831de64b3a90 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 24 Jul 2024 09:02:52 +0000
Subject: [PATCH 29/44] chore(deps): bump github.com/cyphar/filepath-securejoin
(#10713)
Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.0 to 0.3.1.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.0...v0.3.1)
---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index d983e4657ea1..977435bb7a0e 100644
--- a/go.mod
+++ b/go.mod
@@ -13,7 +13,7 @@ require (
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20240525144225-0fe7eafab216
github.com/blang/semver/v4 v4.0.0
github.com/cenkalti/backoff v2.2.1+incompatible
- github.com/cyphar/filepath-securejoin v0.3.0
+ github.com/cyphar/filepath-securejoin v0.3.1
github.com/dgraph-io/ristretto v0.1.1
github.com/distribution/reference v0.6.0
github.com/evanphx/json-patch/v5 v5.9.0
diff --git a/go.sum b/go.sum
index 38cdf8507c33..969e52546020 100644
--- a/go.sum
+++ b/go.sum
@@ -249,8 +249,8 @@ github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0=
github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f h1:eHnXnuK47UlSTOQexbzxAZfekVz6i+LKRdj1CU5DPaM=
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw=
-github.com/cyphar/filepath-securejoin v0.3.0 h1:tXpmbiaeBrS/K2US8nhgwdKYnfAOnVfkcLPKFgFHeA0=
-github.com/cyphar/filepath-securejoin v0.3.0/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc=
+github.com/cyphar/filepath-securejoin v0.3.1 h1:1V7cHiaW+C+39wEfpH6XlLBQo3j/PciWFrgfCLS8XrE=
+github.com/cyphar/filepath-securejoin v0.3.1/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc=
github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs=
github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
From ca17cb2c6f920afae8e78318e41c9e18c3686cd2 Mon Sep 17 00:00:00 2001
From: Korada Vishal <116670999+Vishalk91-4@users.noreply.github.com>
Date: Wed, 24 Jul 2024 16:13:07 +0530
Subject: [PATCH 30/44] Improved test covergae for forceMutate (#10103)
Signed-off-by: Vishal K
Co-authored-by: Mariam Fahmy
---
pkg/engine/forceMutate_test.go | 81 ++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/pkg/engine/forceMutate_test.go b/pkg/engine/forceMutate_test.go
index 6508e18a9511..ff8704754019 100644
--- a/pkg/engine/forceMutate_test.go
+++ b/pkg/engine/forceMutate_test.go
@@ -113,6 +113,87 @@ func Test_ForceMutateSubstituteVars(t *testing.T) {
assert.DeepEqual(t, expectedResource, mutatedResource.UnstructuredContent())
}
+func Test_ApplyForEachMutate(t *testing.T) {
+ rawPolicy := []byte(`
+ {
+ "apiVersion": "kyverno.io/v1",
+ "kind": "ClusterPolicy",
+ "metadata": {
+ "name": "add-label"
+ },
+ "spec": {
+ "rules": [
+ {
+ "name": "add-name-label",
+ "match": {
+ "resources": {
+ "kinds": [
+ "Pod"
+ ]
+ }
+ },
+ "mutate": {
+ "forEach": [
+ {
+ "patchStrategicMerge": {
+ "metadata": {
+ "labels": {
+ "appname": "{{request.object.metadata.name}}"
+ }
+ }
+ },
+ "forEach": [
+ {
+ "patchStrategicMerge": {
+ "metadata": {
+ "labels": {
+ "nestedLabel": "nestedValue"
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ `)
+
+ var policy kyverno.ClusterPolicy
+ err := json.Unmarshal(rawPolicy, &policy)
+ assert.NilError(t, err)
+
+ resourceUnstructured, err := kubeutils.BytesToUnstructured(rawResource)
+ assert.NilError(t, err)
+ jp := jmespath.New(config.NewDefaultConfiguration(false))
+ ctx := context.NewContext(jp)
+ err = context.AddResource(ctx, rawResource)
+ assert.NilError(t, err)
+
+ mutatedResource, err := ForceMutate(ctx, logr.Discard(), &policy, *resourceUnstructured)
+ assert.NilError(t, err)
+
+ expectedRawResource := []byte(`{
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "metadata": {
+ "labels": {
+ "nestedLabel": "nestedValue"
+ },
+ "name": "check-root-user"
+ },
+ "spec": {"containers": [{"image": "nginxinc/nginx-unprivileged", "name": "check-root-user", "securityContext": {"runAsNonRoot": true}}]}
+ }`)
+
+ var expectedResource interface{}
+ assert.NilError(t, json.Unmarshal(expectedRawResource, &expectedResource))
+
+ assert.DeepEqual(t, expectedResource, mutatedResource.UnstructuredContent())
+}
+
func Test_ForceMutateSubstituteVarsWithPatchesJson6902(t *testing.T) {
rawPolicy := []byte(`
{
From 2855d27ce4e55f408346edc7e39e90fa12fa4f21 Mon Sep 17 00:00:00 2001
From: Jim Bugwadia
Date: Thu, 25 Jul 2024 00:40:38 -0700
Subject: [PATCH 31/44] change security to point to org repo (#10716)
Signed-off-by: Jim Bugwadia
---
SECURITY.md | 33 +--------------------------------
1 file changed, 1 insertion(+), 32 deletions(-)
diff --git a/SECURITY.md b/SECURITY.md
index 40f7f665d9e9..3bea512b31e6 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,34 +1,3 @@
# Security Policy
-The Kyverno community has adopted this security disclosures and response policy to ensure we responsibly handle critical issues.
-## Security bulletins
-For information regarding the security of this project please join our [slack channel](https://slack.k8s.io/#kyverno).
-
-## Reporting a Vulnerability
-### When you should?
-- You think you discovered a potential security vulnerability in Kyverno.
-- You are unsure how a vulnerability affects Kyverno.
-- You think you discovered a vulnerability in another project that Kyverno depends on. For projects with their own vulnerability reporting and disclosure process, please report it directly there.
-
-### When you should not?
-- You need help tuning Kyverno components for security - please discuss this is in the Kyverno [slack channel](https://slack.k8s.io/#kyverno).
-- You need help applying security-related updates.
-- Your issue is not security-related.
-
-### Please use the below process to report a vulnerability to the project:
-1. Email the **Kyverno security group at kyverno-security@googlegroups.com**
- * Emails should contain:
- * description of the problem
- * precise and detailed steps (include screenshots) that created the problem
- * the affected version(s)
- * any possible mitigations, if known
-2. The project security team will send an initial response to the disclosure in 3-5 days. Once the vulnerability and fix are confirmed, the team will plan to release the fix in 7 to 28 days based on the severity and complexity.
-3. You may be contacted by a project maintainer to further discuss the reported item. Please bear with us as we seek to understand the breadth and scope of the reported problem, recreate it, and confirm if there is a vulnerability present.
-
-## Supported Versions
-Kyverno versions follow [Semantic Versioning](https://semver.org/) terminology and are expressed as x.y.z:
-- where x is the major version
-- y is the minor version
-- and z is the patch version
-
-Security fixes, may be backported to the three most recent minor releases, depending on severity and feasibility. Patch releases are cut from those branches periodically, plus additional urgent releases, when required.
\ No newline at end of file
+[Kyverno and its sub-projects](https://github.com/kyverno#projects) follow the security practices published and maintained at https://github.com/kyverno/community/blob/main/SECURITY.md.
From 716611b7ea484bc2b36783c7a8bb09b87b8220f3 Mon Sep 17 00:00:00 2001
From: Mariam Fahmy
Date: Thu, 25 Jul 2024 20:36:19 +0300
Subject: [PATCH 32/44] fix: return all the exceptions that match the incoming
resource (#10722)
* fix: return all the exceptions that match the incoming resource
Signed-off-by: Mariam Fahmy
* fix: modify log messages
Signed-off-by: Mariam Fahmy
---------
Signed-off-by: Mariam Fahmy
---
.../kubectl-kyverno/commands/test/output.go | 2 +-
.../report/background/controller.go | 24 +++++--
pkg/engine/api/ruleresponse.go | 14 ++--
pkg/engine/background.go | 25 ++++---
.../handlers/mutation/mutate_existing.go | 29 ++++----
pkg/engine/handlers/mutation/mutate_image.go | 29 ++++----
.../handlers/mutation/mutate_resource.go | 29 ++++----
.../handlers/validation/validate_cel.go | 29 ++++----
.../handlers/validation/validate_image.go | 28 ++++----
.../handlers/validation/validate_manifest.go | 28 ++++----
.../handlers/validation/validate_pss.go | 64 ++++++++++-------
.../handlers/validation/validate_resource.go | 28 ++++----
pkg/engine/utils/exceptions.go | 7 +-
pkg/event/events.go | 68 +++++++++++--------
pkg/utils/report/results.go | 9 ++-
.../README.md | 18 +++++
.../chainsaw-test.yaml | 21 ++++++
.../exceptions.yaml | 44 ++++++++++++
.../pod.yaml | 56 +++++++++++++++
.../policy-assert.yaml | 9 +++
.../policy.yaml | 19 ++++++
.../exceptions/multiple-exceptions/README.md | 18 +++++
.../multiple-exceptions/chainsaw-test.yaml | 21 ++++++
.../multiple-exceptions/exceptions.yaml | 36 ++++++++++
.../exceptions/multiple-exceptions/pod.yaml | 56 +++++++++++++++
.../multiple-exceptions/policy-assert.yaml | 9 +++
.../multiple-exceptions/policy.yaml | 19 ++++++
.../admission/exception/report-assert.yaml | 2 +-
.../report-assert.yaml | 2 +-
.../background/exception/report-assert.yaml | 2 +-
.../README.md | 25 +++++++
.../chainsaw-test.yaml | 45 ++++++++++++
.../exceptions.yaml | 44 ++++++++++++
.../pod.yaml | 56 +++++++++++++++
.../policy-assert.yaml | 9 +++
.../policy.yaml | 19 ++++++
.../report-fail-assert.yaml | 33 +++++++++
.../report-skip-assert.yaml | 27 ++++++++
38 files changed, 836 insertions(+), 167 deletions(-)
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/README.md
create mode 100755 test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/exceptions.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/pod.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions/README.md
create mode 100755 test/conformance/chainsaw/exceptions/multiple-exceptions/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions/exceptions.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions/pod.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/exceptions/multiple-exceptions/policy.yaml
create mode 100644 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/README.md
create mode 100755 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/exceptions.yaml
create mode 100644 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/pod.yaml
create mode 100644 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy-assert.yaml
create mode 100644 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy.yaml
create mode 100644 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-fail-assert.yaml
create mode 100644 test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-skip-assert.yaml
diff --git a/cmd/cli/kubectl-kyverno/commands/test/output.go b/cmd/cli/kubectl-kyverno/commands/test/output.go
index d37d955c2aee..eee1cb17e197 100644
--- a/cmd/cli/kubectl-kyverno/commands/test/output.go
+++ b/cmd/cli/kubectl-kyverno/commands/test/output.go
@@ -90,7 +90,7 @@ func printCheckResult(
// patchedTargetSubresourceName string
// podSecurityChecks contains pod security checks (only if this is a pod security rule)
"podSecurityChecks": rule.PodSecurityChecks(),
- "exception ": rule.Exception(),
+ "exceptions": rule.Exceptions(),
}
if check.Assert.Value != nil {
errs, err := assert.Assert(ctx, nil, assert.Parse(ctx, check.Assert.Value), data, nil)
diff --git a/pkg/controllers/report/background/controller.go b/pkg/controllers/report/background/controller.go
index ca03bb91ac51..66caea91acc0 100644
--- a/pkg/controllers/report/background/controller.go
+++ b/pkg/controllers/report/background/controller.go
@@ -2,6 +2,7 @@ package background
import (
"context"
+ "strings"
"time"
"github.com/go-logr/logr"
@@ -361,8 +362,8 @@ func (c *controller) reconcileReport(
}
policyNameToLabel[key] = reportutils.PolicyLabel(policy)
}
- for _, exception := range exceptions {
- key, err := cache.MetaNamespaceKeyFunc(exception)
+ for i, exception := range exceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&exceptions[i])
if err != nil {
return err
}
@@ -376,13 +377,24 @@ func (c *controller) reconcileReport(
policyNameToLabel[key] = reportutils.ValidatingAdmissionPolicyBindingLabel(binding)
}
for _, result := range observed.GetResults() {
- // if the policy did not change, keep the result
+ // The result is kept as it is if:
+ // 1. The Kyverno policy and its matched exceptions are unchanged
+ // 2. The ValidatingAdmissionPolicy and its matched binding are unchanged
+ keepResult := true
+ exception := result.Properties["exceptions"]
+ exceptions := strings.Split(exception, ",")
+ for _, exception := range exceptions {
+ exceptionLabel := policyNameToLabel[exception]
+ if exceptionLabel != "" && expected[exceptionLabel] != actual[exceptionLabel] {
+ keepResult = false
+ break
+ }
+ }
+
label := policyNameToLabel[result.Policy]
- exceptionLabel := policyNameToLabel[result.Properties["exception"]]
vapBindingLabel := policyNameToLabel[result.Properties["binding"]]
if (label != "" && expected[label] == actual[label]) ||
- (exceptionLabel != "" && expected[exceptionLabel] == actual[exceptionLabel]) ||
- (vapBindingLabel != "" && expected[vapBindingLabel] == actual[vapBindingLabel]) {
+ (vapBindingLabel != "" && expected[vapBindingLabel] == actual[vapBindingLabel]) || keepResult {
ruleResults = append(ruleResults, result)
}
}
diff --git a/pkg/engine/api/ruleresponse.go b/pkg/engine/api/ruleresponse.go
index c45f6a6494da..b1927122af48 100644
--- a/pkg/engine/api/ruleresponse.go
+++ b/pkg/engine/api/ruleresponse.go
@@ -43,8 +43,8 @@ type RuleResponse struct {
patchedTargetSubresourceName string
// podSecurityChecks contains pod security checks (only if this is a pod security rule)
podSecurityChecks *PodSecurityChecks
- // exception is the exception applied (if any)
- exception *kyvernov2.PolicyException
+ // exceptions are the exceptions applied (if any)
+ exceptions []kyvernov2.PolicyException
// binding is the validatingadmissionpolicybinding (if any)
binding *v1alpha1.ValidatingAdmissionPolicyBinding
// emitWarning enable passing rule message as warning to api server warning header
@@ -88,8 +88,8 @@ func RuleFail(name string, ruleType RuleType, msg string) *RuleResponse {
return NewRuleResponse(name, ruleType, msg, RuleStatusFail)
}
-func (r RuleResponse) WithException(exception *kyvernov2.PolicyException) *RuleResponse {
- r.exception = exception
+func (r RuleResponse) WithExceptions(exceptions []kyvernov2.PolicyException) *RuleResponse {
+ r.exceptions = exceptions
return &r
}
@@ -129,8 +129,8 @@ func (r *RuleResponse) Stats() ExecutionStats {
return r.stats
}
-func (r *RuleResponse) Exception() *kyvernov2.PolicyException {
- return r.exception
+func (r *RuleResponse) Exceptions() []kyvernov2.PolicyException {
+ return r.exceptions
}
func (r *RuleResponse) ValidatingAdmissionPolicyBinding() *v1alpha1.ValidatingAdmissionPolicyBinding {
@@ -138,7 +138,7 @@ func (r *RuleResponse) ValidatingAdmissionPolicyBinding() *v1alpha1.ValidatingAd
}
func (r *RuleResponse) IsException() bool {
- return r.exception != nil
+ return len(r.exceptions) > 0
}
func (r *RuleResponse) PodSecurityChecks() *PodSecurityChecks {
diff --git a/pkg/engine/background.go b/pkg/engine/background.go
index 96b29fd5e4b4..2a6124ed9d0e 100644
--- a/pkg/engine/background.go
+++ b/pkg/engine/background.go
@@ -2,6 +2,7 @@ package engine
import (
"context"
+ "strings"
"github.com/go-logr/logr"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
@@ -64,17 +65,21 @@ func (e *engine) filterRule(
logger.Error(err, "failed to get exceptions")
return nil
}
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return engineapi.RuleError(rule.Name, ruleType, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return engineapi.RuleSkip(rule.Name, ruleType, "rule skipped due to policy exception "+key).WithException(exception)
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return engineapi.RuleError(rule.Name, ruleType, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return engineapi.RuleSkip(rule.Name, ruleType, "rule is skipped due to policy exception "+strings.Join(keys, ", ")).WithExceptions(matchedExceptions)
}
newResource := policyContext.NewResource()
diff --git a/pkg/engine/handlers/mutation/mutate_existing.go b/pkg/engine/handlers/mutation/mutate_existing.go
index c7e6d6ca774c..0365fd88fc03 100644
--- a/pkg/engine/handlers/mutation/mutate_existing.go
+++ b/pkg/engine/handlers/mutation/mutate_existing.go
@@ -2,6 +2,7 @@ package mutation
import (
"context"
+ "strings"
"github.com/go-logr/logr"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
@@ -37,19 +38,23 @@ func (h mutateExistingHandler) Process(
contextLoader engineapi.EngineContextLoader,
exceptions []*kyvernov2.PolicyException,
) (unstructured.Unstructured, []engineapi.RuleResponse) {
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Mutation, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Mutation, "rule skipped due to policy exception "+key).WithException(exception),
- )
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Mutation, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Mutation, "rule is skipped due to policy exceptions"+strings.Join(keys, ", ")).WithExceptions(matchedExceptions),
+ )
}
var responses []engineapi.RuleResponse
diff --git a/pkg/engine/handlers/mutation/mutate_image.go b/pkg/engine/handlers/mutation/mutate_image.go
index 1598ee29d7b6..62cea051eaeb 100644
--- a/pkg/engine/handlers/mutation/mutate_image.go
+++ b/pkg/engine/handlers/mutation/mutate_image.go
@@ -2,6 +2,7 @@ package mutation
import (
"context"
+ "strings"
json_patch "github.com/evanphx/json-patch/v5"
"github.com/go-logr/logr"
@@ -68,19 +69,23 @@ func (h mutateImageHandler) Process(
contextLoader engineapi.EngineContextLoader,
exceptions []*kyvernov2.PolicyException,
) (unstructured.Unstructured, []engineapi.RuleResponse) {
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Mutation, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Mutation, "rule skipped due to policy exception "+key).WithException(exception),
- )
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Mutation, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Mutation, "rule is skipped due to policy exceptions"+strings.Join(keys, ", ")).WithExceptions(matchedExceptions),
+ )
}
jsonContext := policyContext.JSONContext()
diff --git a/pkg/engine/handlers/mutation/mutate_resource.go b/pkg/engine/handlers/mutation/mutate_resource.go
index 6557a5d25b11..71ce7054d083 100644
--- a/pkg/engine/handlers/mutation/mutate_resource.go
+++ b/pkg/engine/handlers/mutation/mutate_resource.go
@@ -2,6 +2,7 @@ package mutation
import (
"context"
+ "strings"
"github.com/go-logr/logr"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
@@ -30,19 +31,23 @@ func (h mutateResourceHandler) Process(
contextLoader engineapi.EngineContextLoader,
exceptions []*kyvernov2.PolicyException,
) (unstructured.Unstructured, []engineapi.RuleResponse) {
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Mutation, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Mutation, "rule skipped due to policy exception "+key).WithException(exception),
- )
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Mutation, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Mutation, "rule is skipped due to policy exceptions"+strings.Join(keys, ", ")).WithExceptions(matchedExceptions),
+ )
}
_, subresource := policyContext.ResourceKind()
diff --git a/pkg/engine/handlers/validation/validate_cel.go b/pkg/engine/handlers/validation/validate_cel.go
index c5914233001f..d06ff604dc03 100644
--- a/pkg/engine/handlers/validation/validate_cel.go
+++ b/pkg/engine/handlers/validation/validate_cel.go
@@ -3,6 +3,7 @@ package validation
import (
"context"
"fmt"
+ "strings"
"github.com/go-logr/logr"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
@@ -47,19 +48,23 @@ func (h validateCELHandler) Process(
_ engineapi.EngineContextLoader,
exceptions []*kyvernov2.PolicyException,
) (unstructured.Unstructured, []engineapi.RuleResponse) {
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule skipped due to policy exception "+key).WithException(exception),
- )
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule is skipped due to policy exceptions"+strings.Join(keys, ", ")).WithExceptions(matchedExceptions),
+ )
}
// check if a corresponding validating admission policy is generated
diff --git a/pkg/engine/handlers/validation/validate_image.go b/pkg/engine/handlers/validation/validate_image.go
index 15952c46b412..71829f85fccc 100644
--- a/pkg/engine/handlers/validation/validate_image.go
+++ b/pkg/engine/handlers/validation/validate_image.go
@@ -47,19 +47,23 @@ func (h validateImageHandler) Process(
_ engineapi.EngineContextLoader,
exceptions []*kyvernov2.PolicyException,
) (unstructured.Unstructured, []engineapi.RuleResponse) {
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.ImageVerify, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.ImageVerify, "rule skipped due to policy exception "+key).WithException(exception),
- )
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule is skipped due to policy exceptions"+strings.Join(keys, ", ")).WithExceptions(matchedExceptions),
+ )
}
skippedImages := make([]string, 0)
diff --git a/pkg/engine/handlers/validation/validate_manifest.go b/pkg/engine/handlers/validation/validate_manifest.go
index 054896787887..7924656f032d 100644
--- a/pkg/engine/handlers/validation/validate_manifest.go
+++ b/pkg/engine/handlers/validation/validate_manifest.go
@@ -59,19 +59,23 @@ func (h validateManifestHandler) Process(
_ engineapi.EngineContextLoader,
exceptions []*kyvernov2.PolicyException,
) (unstructured.Unstructured, []engineapi.RuleResponse) {
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule skipped due to policy exception "+key).WithException(exception),
- )
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule is skipped due to policy exceptions"+strings.Join(keys, ", ")).WithExceptions(matchedExceptions),
+ )
}
// verify manifest
diff --git a/pkg/engine/handlers/validation/validate_pss.go b/pkg/engine/handlers/validation/validate_pss.go
index b6ae4519601d..58ada5aa8124 100644
--- a/pkg/engine/handlers/validation/validate_pss.go
+++ b/pkg/engine/handlers/validation/validate_pss.go
@@ -44,17 +44,29 @@ func (h validatePssHandler) Process(
return resource, nil
}
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil && !exception.HasPodSecurity() {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var polex kyvernov2.PolicyException
+ hasPodSecurity := true
+
+ for i, exception := range matchedExceptions {
+ if !exception.HasPodSecurity() {
+ hasPodSecurity = false
+ polex = matchedExceptions[i]
+ break
+ }
+ }
+
+ if !hasPodSecurity {
+ key, err := cache.MetaNamespaceKeyFunc(&polex)
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", polex.GetNamespace(), "name", polex.GetName())
+ return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
+ }
+ logger.V(3).Info("policy rule is skipped due to policy exception", "exception", key)
return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule skipped due to policy exception "+key).WithException(exception),
+ engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule is skipped due to policy exception "+key).WithExceptions([]kyvernov2.PolicyException{polex}),
)
}
}
@@ -91,21 +103,25 @@ func (h validatePssHandler) Process(
)
} else {
// apply pod security exceptions if exist
- if exception != nil && exception.HasPodSecurity() {
- pssChecks, err = pss.ApplyPodSecurityExclusion(levelVersion, exception.Spec.PodSecurity, pssChecks, pod)
- if len(pssChecks) == 0 && err == nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
- } else {
- podSecurityChecks.Checks = pssChecks
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule skipped due to policy exception "+key).WithException(exception).WithPodSecurityChecks(podSecurityChecks),
- )
- }
+ var excludes []kyvernov1.PodSecurityStandard
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
}
+ keys = append(keys, key)
+ excludes = append(excludes, exception.Spec.PodSecurity...)
+ }
+
+ pssChecks, err = pss.ApplyPodSecurityExclusion(levelVersion, excludes, pssChecks, pod)
+ if len(pssChecks) == 0 && err == nil {
+ podSecurityChecks.Checks = pssChecks
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule is skipped due to policy exceptions "+strings.Join(keys, ", ")).WithExceptions(matchedExceptions).WithPodSecurityChecks(podSecurityChecks),
+ )
}
msg := fmt.Sprintf(`Validation rule '%s' failed. It violates PodSecurity "%s:%s": %s`, rule.Name, podSecurity.Level, podSecurity.Version, pss.FormatChecksPrint(pssChecks))
return resource, handlers.WithResponses(
diff --git a/pkg/engine/handlers/validation/validate_resource.go b/pkg/engine/handlers/validation/validate_resource.go
index 2d2089c6add2..f181fcbc676b 100644
--- a/pkg/engine/handlers/validation/validate_resource.go
+++ b/pkg/engine/handlers/validation/validate_resource.go
@@ -40,19 +40,23 @@ func (h validateResourceHandler) Process(
contextLoader engineapi.EngineContextLoader,
exceptions []*kyvernov2.PolicyException,
) (unstructured.Unstructured, []engineapi.RuleResponse) {
- // check if there is a policy exception matches the incoming resource
- exception := engineutils.MatchesException(exceptions, policyContext, logger)
- if exception != nil {
- key, err := cache.MetaNamespaceKeyFunc(exception)
- if err != nil {
- logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
- return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
- } else {
- logger.V(3).Info("policy rule skipped due to policy exception", "exception", key)
- return resource, handlers.WithResponses(
- engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule skipped due to policy exception "+key).WithException(exception),
- )
+ // check if there are policy exceptions that match the incoming resource
+ matchedExceptions := engineutils.MatchesException(exceptions, policyContext, logger)
+ if len(matchedExceptions) > 0 {
+ var keys []string
+ for i, exception := range matchedExceptions {
+ key, err := cache.MetaNamespaceKeyFunc(&matchedExceptions[i])
+ if err != nil {
+ logger.Error(err, "failed to compute policy exception key", "namespace", exception.GetNamespace(), "name", exception.GetName())
+ return resource, handlers.WithError(rule, engineapi.Validation, "failed to compute exception key", err)
+ }
+ keys = append(keys, key)
}
+
+ logger.V(3).Info("policy rule is skipped due to policy exceptions", "exceptions", keys)
+ return resource, handlers.WithResponses(
+ engineapi.RuleSkip(rule.Name, engineapi.Validation, "rule is skipped due to policy exceptions"+strings.Join(keys, ", ")).WithExceptions(matchedExceptions),
+ )
}
v := newValidator(logger, contextLoader, policyContext, rule)
return resource, handlers.WithResponses(v.validate(ctx))
diff --git a/pkg/engine/utils/exceptions.go b/pkg/engine/utils/exceptions.go
index 18c2a62bf74d..d65f6c2ce7bd 100644
--- a/pkg/engine/utils/exceptions.go
+++ b/pkg/engine/utils/exceptions.go
@@ -15,7 +15,8 @@ import (
// MatchesException takes a list of exceptions and checks if there is an exception applies to the incoming resource.
// It returns the matched policy exception.
-func MatchesException(polexs []*kyvernov2.PolicyException, policyContext engineapi.PolicyContext, logger logr.Logger) *kyvernov2.PolicyException {
+func MatchesException(polexs []*kyvernov2.PolicyException, policyContext engineapi.PolicyContext, logger logr.Logger) []kyvernov2.PolicyException {
+ var matchedExceptions []kyvernov2.PolicyException
gvk, subresource := policyContext.ResourceKind()
resource := policyContext.NewResource()
if resource.Object == nil {
@@ -40,10 +41,10 @@ func MatchesException(polexs []*kyvernov2.PolicyException, policyContext enginea
continue
}
}
- return polex
+ matchedExceptions = append(matchedExceptions, *polex)
}
}
- return nil
+ return matchedExceptions
}
func checkMatchesResources(
diff --git a/pkg/event/events.go b/pkg/event/events.go
index f21c5c14c1ad..2251f5d59d6c 100644
--- a/pkg/event/events.go
+++ b/pkg/event/events.go
@@ -222,16 +222,51 @@ func NewBackgroundSuccessEvent(source Source, policy kyvernov1.PolicyInterface,
}
func NewPolicyExceptionEvents(engineResponse engineapi.EngineResponse, ruleResp engineapi.RuleResponse, source Source) []Info {
- exception := ruleResp.Exception()
- exceptionName, exceptionNamespace := exception.GetName(), exception.GetNamespace()
- policyMessage := fmt.Sprintf("resource %s was skipped from rule %s due to policy exception %s/%s", resourceKey(engineResponse.PatchedResource), ruleResp.Name(), exceptionNamespace, exceptionName)
- pol := engineResponse.Policy().AsKyvernoPolicy()
var exceptionMessage string
+ exceptions := ruleResp.Exceptions()
+ exceptionNames := make([]string, 0, len(exceptions))
+ events := make([]Info, 0, len(exceptions))
+
+ // build the events of the policy exceptions
+ pol := engineResponse.Policy().AsKyvernoPolicy()
if pol.GetNamespace() == "" {
exceptionMessage = fmt.Sprintf("resource %s was skipped from policy rule %s/%s", resourceKey(engineResponse.PatchedResource), pol.GetName(), ruleResp.Name())
} else {
exceptionMessage = fmt.Sprintf("resource %s was skipped from policy rule %s/%s/%s", resourceKey(engineResponse.PatchedResource), pol.GetNamespace(), pol.GetName(), ruleResp.Name())
}
+
+ related := engineResponse.GetResourceSpec()
+ for _, exception := range exceptions {
+ ns := exception.GetNamespace()
+ name := exception.GetName()
+ exceptionNames = append(exceptionNames, ns+"/"+name)
+
+ exceptionEvent := Info{
+ Regarding: corev1.ObjectReference{
+ // TODO: iirc it's not safe to assume api version is set
+ APIVersion: "kyverno.io/v2",
+ Kind: "PolicyException",
+ Name: name,
+ Namespace: ns,
+ UID: exception.GetUID(),
+ },
+ Related: &corev1.ObjectReference{
+ APIVersion: related.APIVersion,
+ Kind: related.Kind,
+ Name: related.Name,
+ Namespace: related.Namespace,
+ UID: types.UID(related.UID),
+ },
+ Reason: PolicySkipped,
+ Message: exceptionMessage,
+ Source: source,
+ Action: ResourcePassed,
+ }
+ events = append(events, exceptionEvent)
+ }
+
+ // build the policy events
+ policyMessage := fmt.Sprintf("resource %s was skipped from rule %s due to policy exceptions %s", resourceKey(engineResponse.PatchedResource), ruleResp.Name(), strings.Join(exceptionNames, ", "))
regarding := corev1.ObjectReference{
// TODO: iirc it's not safe to assume api version is set
APIVersion: "kyverno.io/v1",
@@ -240,7 +275,6 @@ func NewPolicyExceptionEvents(engineResponse engineapi.EngineResponse, ruleResp
Namespace: pol.GetNamespace(),
UID: pol.GetUID(),
}
- related := engineResponse.GetResourceSpec()
policyEvent := Info{
Regarding: regarding,
Related: &corev1.ObjectReference{
@@ -255,28 +289,8 @@ func NewPolicyExceptionEvents(engineResponse engineapi.EngineResponse, ruleResp
Source: source,
Action: ResourcePassed,
}
- exceptionEvent := Info{
- Regarding: corev1.ObjectReference{
- // TODO: iirc it's not safe to assume api version is set
- APIVersion: "kyverno.io/v2",
- Kind: "PolicyException",
- Name: exceptionName,
- Namespace: exceptionNamespace,
- UID: exception.GetUID(),
- },
- Related: &corev1.ObjectReference{
- APIVersion: related.APIVersion,
- Kind: related.Kind,
- Name: related.Name,
- Namespace: related.Namespace,
- UID: types.UID(related.UID),
- },
- Reason: PolicySkipped,
- Message: exceptionMessage,
- Source: source,
- Action: ResourcePassed,
- }
- return []Info{policyEvent, exceptionEvent}
+ events = append(events, policyEvent)
+ return events
}
func NewCleanupPolicyEvent(policy kyvernov2.CleanupPolicyInterface, resource unstructured.Unstructured, err error) Info {
diff --git a/pkg/utils/report/results.go b/pkg/utils/report/results.go
index f7d680e2f5fa..2772565d83cf 100644
--- a/pkg/utils/report/results.go
+++ b/pkg/utils/report/results.go
@@ -110,8 +110,13 @@ func ToPolicyReportResult(policyType engineapi.PolicyType, policyName string, ru
*resource,
}
}
- if ruleResult.Exception() != nil {
- addProperty("exception", ruleResult.Exception().Name, &result)
+ exceptions := ruleResult.Exceptions()
+ if len(exceptions) > 0 {
+ var names []string
+ for _, exception := range exceptions {
+ names = append(names, exception.Name)
+ }
+ addProperty("exceptions", strings.Join(names, ","), &result)
}
pss := ruleResult.PodSecurityChecks()
if pss != nil && len(pss.Checks) > 0 {
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/README.md b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/README.md
new file mode 100644
index 000000000000..957963aca530
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/README.md
@@ -0,0 +1,18 @@
+## Description
+
+This test creates two policy exceptions that match the same policy. It is expected that the pod that satisfies both exceptions will be created successfully.
+
+## Expected Behavior
+
+1. Create a policy that applies the baseline profile.
+
+2. Create two exceptions for the init containters as follows:
+ - The first exception `init1-exception-baseline` allows the values of `NET_ADMIN` and `NET_RAW` capabilities in the init containers.
+ - The second exception `init2-exception-baseline` allows the values of `SYS_TIME` capabilities in the init containers.
+
+3. Create a pod with two init containers. The first init container should have the `NET_ADMIN` and `NET_RAW` capabilities, and the second init container should have the `SYS_TIME` capability. It is expected that the pod will be created successfully as it matches both exceptions.
+
+
+## Reference Issue(s)
+
+#10580
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/chainsaw-test.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/chainsaw-test.yaml
new file mode 100755
index 000000000000..40fec37619d5
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/chainsaw-test.yaml
@@ -0,0 +1,21 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: multiple-exceptions-with-pod-security
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - apply:
+ file: exceptions.yaml
+ - name: step-03
+ try:
+ - apply:
+ file: pod.yaml
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/exceptions.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/exceptions.yaml
new file mode 100644
index 000000000000..862a08403d23
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/exceptions.yaml
@@ -0,0 +1,44 @@
+apiVersion: kyverno.io/v2
+kind: PolicyException
+metadata:
+ name: init1-exception-baseline
+spec:
+ exceptions:
+ - policyName: psp-baseline
+ ruleNames:
+ - baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ podSecurity:
+ - controlName: Capabilities
+ images:
+ - 'alpine:latest'
+ restrictedField: spec.initContainers[*].securityContext.capabilities.add
+ values:
+ - NET_ADMIN
+ - NET_RAW
+---
+apiVersion: kyverno.io/v2
+kind: PolicyException
+metadata:
+ name: init2-exception-baseline
+spec:
+ exceptions:
+ - policyName: psp-baseline
+ ruleNames:
+ - baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ podSecurity:
+ - controlName: Capabilities
+ images:
+ - 'busybox:latest'
+ restrictedField: spec.initContainers[*].securityContext.capabilities.add
+ values:
+ - SYS_TIME
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/pod.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/pod.yaml
new file mode 100644
index 000000000000..10ad4a02022f
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/pod.yaml
@@ -0,0 +1,56 @@
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ name: test-pod
+spec:
+ containers:
+ - image: alpine:latest
+ imagePullPolicy: IfNotPresent
+ name: primary
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ runAsGroup: 1000
+ runAsNonRoot: true
+ runAsUser: 1000
+ seccompProfile:
+ type: RuntimeDefault
+ initContainers:
+ - image: alpine:latest
+ imagePullPolicy: IfNotPresent
+ name: init1
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ add:
+ - NET_ADMIN
+ - NET_RAW
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: false
+ runAsGroup: 10001
+ runAsNonRoot: true
+ runAsUser: 10001
+ seccompProfile:
+ type: RuntimeDefault
+ - image: busybox:latest
+ imagePullPolicy: IfNotPresent
+ name: init2
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ add:
+ - SYS_TIME
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 10002
+ runAsNonRoot: true
+ runAsUser: 10002
+ seccompProfile:
+ type: RuntimeDefault
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy-assert.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy-assert.yaml
new file mode 100644
index 000000000000..21bb1a0623da
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy-assert.yaml
@@ -0,0 +1,9 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-baseline
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy.yaml
new file mode 100644
index 000000000000..d554dccac897
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions-with-pod-security/policy.yaml
@@ -0,0 +1,19 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-baseline
+spec:
+ failurePolicy: Ignore
+ background: true
+ validationFailureAction: Enforce
+ rules:
+ - name: baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ validate:
+ podSecurity:
+ level: baseline
+ version: v1.29
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions/README.md b/test/conformance/chainsaw/exceptions/multiple-exceptions/README.md
new file mode 100644
index 000000000000..9b0649c6745f
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions/README.md
@@ -0,0 +1,18 @@
+## Description
+
+This test creates two policy exceptions that match the same policy. It is expected that the pod that satisfies both exceptions will be created successfully.
+
+## Expected Behavior
+
+1. Create a policy that applies the baseline profile.
+
+2. Create two exceptions as follows:
+ - The first exception `exception-baseline` that exempts the whole pod from the baseline profile.
+ - The second exception `init-exception-baseline` allows the values of `SYS_TIME` capabilities in the init containers.
+
+3. Create a pod with two init containers. The first init container should have the `NET_ADMIN` and `NET_RAW` capabilities, and the second init container should have the `SYS_TIME` capability. It is expected that the pod will be created successfully as it matches both exceptions.
+
+
+## Reference Issue(s)
+
+#10580
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions/chainsaw-test.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions/chainsaw-test.yaml
new file mode 100755
index 000000000000..e005c156e2fd
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions/chainsaw-test.yaml
@@ -0,0 +1,21 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: multiple-exceptions
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-02
+ try:
+ - apply:
+ file: exceptions.yaml
+ - name: step-03
+ try:
+ - apply:
+ file: pod.yaml
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions/exceptions.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions/exceptions.yaml
new file mode 100644
index 000000000000..94665f7b07a7
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions/exceptions.yaml
@@ -0,0 +1,36 @@
+apiVersion: kyverno.io/v2
+kind: PolicyException
+metadata:
+ name: exception-baseline
+spec:
+ exceptions:
+ - policyName: psp-baseline
+ ruleNames:
+ - baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+---
+apiVersion: kyverno.io/v2
+kind: PolicyException
+metadata:
+ name: init-exception-baseline
+spec:
+ exceptions:
+ - policyName: psp-baseline
+ ruleNames:
+ - baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ podSecurity:
+ - controlName: Capabilities
+ images:
+ - 'busybox:latest'
+ restrictedField: spec.initContainers[*].securityContext.capabilities.add
+ values:
+ - SYS_TIME
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions/pod.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions/pod.yaml
new file mode 100644
index 000000000000..10ad4a02022f
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions/pod.yaml
@@ -0,0 +1,56 @@
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ name: test-pod
+spec:
+ containers:
+ - image: alpine:latest
+ imagePullPolicy: IfNotPresent
+ name: primary
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ runAsGroup: 1000
+ runAsNonRoot: true
+ runAsUser: 1000
+ seccompProfile:
+ type: RuntimeDefault
+ initContainers:
+ - image: alpine:latest
+ imagePullPolicy: IfNotPresent
+ name: init1
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ add:
+ - NET_ADMIN
+ - NET_RAW
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: false
+ runAsGroup: 10001
+ runAsNonRoot: true
+ runAsUser: 10001
+ seccompProfile:
+ type: RuntimeDefault
+ - image: busybox:latest
+ imagePullPolicy: IfNotPresent
+ name: init2
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ add:
+ - SYS_TIME
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 10002
+ runAsNonRoot: true
+ runAsUser: 10002
+ seccompProfile:
+ type: RuntimeDefault
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions/policy-assert.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions/policy-assert.yaml
new file mode 100644
index 000000000000..21bb1a0623da
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions/policy-assert.yaml
@@ -0,0 +1,9 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-baseline
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
diff --git a/test/conformance/chainsaw/exceptions/multiple-exceptions/policy.yaml b/test/conformance/chainsaw/exceptions/multiple-exceptions/policy.yaml
new file mode 100644
index 000000000000..d554dccac897
--- /dev/null
+++ b/test/conformance/chainsaw/exceptions/multiple-exceptions/policy.yaml
@@ -0,0 +1,19 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-baseline
+spec:
+ failurePolicy: Ignore
+ background: true
+ validationFailureAction: Enforce
+ rules:
+ - name: baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ validate:
+ podSecurity:
+ level: baseline
+ version: v1.29
diff --git a/test/conformance/chainsaw/reports/admission/exception/report-assert.yaml b/test/conformance/chainsaw/reports/admission/exception/report-assert.yaml
index 0304ef057e22..f8ca74b4e9ca 100644
--- a/test/conformance/chainsaw/reports/admission/exception/report-assert.yaml
+++ b/test/conformance/chainsaw/reports/admission/exception/report-assert.yaml
@@ -16,7 +16,7 @@ results:
scored: true
source: kyverno
properties:
- exception: mynewpolex
+ exceptions: mynewpolex
summary:
error: 0
fail: 0
diff --git a/test/conformance/chainsaw/reports/background/exception-with-podsecurity/report-assert.yaml b/test/conformance/chainsaw/reports/background/exception-with-podsecurity/report-assert.yaml
index 5090a26d192d..a1b403443e2a 100644
--- a/test/conformance/chainsaw/reports/background/exception-with-podsecurity/report-assert.yaml
+++ b/test/conformance/chainsaw/reports/background/exception-with-podsecurity/report-assert.yaml
@@ -9,7 +9,7 @@ metadata:
results:
- policy: psa-1
properties:
- exception: pod-security-exception
+ exceptions: pod-security-exception
result: skip
rule: restricted
scored: true
diff --git a/test/conformance/chainsaw/reports/background/exception/report-assert.yaml b/test/conformance/chainsaw/reports/background/exception/report-assert.yaml
index 0304ef057e22..f8ca74b4e9ca 100644
--- a/test/conformance/chainsaw/reports/background/exception/report-assert.yaml
+++ b/test/conformance/chainsaw/reports/background/exception/report-assert.yaml
@@ -16,7 +16,7 @@ results:
scored: true
source: kyverno
properties:
- exception: mynewpolex
+ exceptions: mynewpolex
summary:
error: 0
fail: 0
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/README.md b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/README.md
new file mode 100644
index 000000000000..56e057aca1a7
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/README.md
@@ -0,0 +1,25 @@
+## Description
+
+This test makes sure that the report is generated correctly when multiple exceptions are created for the same policy.
+
+## Expected Behavior
+
+1. Create a pod with two init containers. The first init container should have the `NET_ADMIN` and `NET_RAW` capabilities, and the second init container should have the `SYS_TIME` capability.
+
+2. Create a policy that applies the baseline profile.
+
+3. Create two exceptions for the init containters as follows:
+ - The first exception `init1-exception-baseline` allows the values of `NET_ADMIN` and `NET_RAW` capabilities in the init containers.
+ - The second exception `init2-exception-baseline` allows the values of `SYS_TIME` capabilities in the init containers.
+
+4. It is expected that a policy report is generated with a `skip` result.
+
+5. Delete the first exception.
+
+6. It is expected that a policy report is updated with a `fail` result since the first init container violates the policy and it isn't excluded by the second exception.
+
+
+
+## Reference Issue(s)
+
+#10580
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/chainsaw-test.yaml b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/chainsaw-test.yaml
new file mode 100755
index 000000000000..5bf90e7fde14
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/chainsaw-test.yaml
@@ -0,0 +1,45 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: multiple-exceptions-with-pod-security
+spec:
+ steps:
+ - name: step-01
+ try:
+ - apply:
+ file: pod.yaml
+ - name: step-02
+ try:
+ - apply:
+ file: policy.yaml
+ - assert:
+ file: policy-assert.yaml
+ - name: step-03
+ try:
+ - apply:
+ file: exceptions.yaml
+ - name: step-04
+ try:
+ - sleep:
+ duration: 5s
+ - name: step-05
+ try:
+ - assert:
+ file: report-skip-assert.yaml
+ - name: step-06
+ try:
+ - script:
+ env:
+ - name: NAMESPACE
+ value: ($namespace)
+ content: |
+ kubectl delete polex init1-exception-baseline -n $NAMESPACE
+ - name: step-07
+ try:
+ - sleep:
+ duration: 5s
+ - name: step-08
+ try:
+ - assert:
+ file: report-fail-assert.yaml
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/exceptions.yaml b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/exceptions.yaml
new file mode 100644
index 000000000000..862a08403d23
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/exceptions.yaml
@@ -0,0 +1,44 @@
+apiVersion: kyverno.io/v2
+kind: PolicyException
+metadata:
+ name: init1-exception-baseline
+spec:
+ exceptions:
+ - policyName: psp-baseline
+ ruleNames:
+ - baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ podSecurity:
+ - controlName: Capabilities
+ images:
+ - 'alpine:latest'
+ restrictedField: spec.initContainers[*].securityContext.capabilities.add
+ values:
+ - NET_ADMIN
+ - NET_RAW
+---
+apiVersion: kyverno.io/v2
+kind: PolicyException
+metadata:
+ name: init2-exception-baseline
+spec:
+ exceptions:
+ - policyName: psp-baseline
+ ruleNames:
+ - baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ podSecurity:
+ - controlName: Capabilities
+ images:
+ - 'busybox:latest'
+ restrictedField: spec.initContainers[*].securityContext.capabilities.add
+ values:
+ - SYS_TIME
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/pod.yaml b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/pod.yaml
new file mode 100644
index 000000000000..10ad4a02022f
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/pod.yaml
@@ -0,0 +1,56 @@
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ name: test-pod
+spec:
+ containers:
+ - image: alpine:latest
+ imagePullPolicy: IfNotPresent
+ name: primary
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ runAsGroup: 1000
+ runAsNonRoot: true
+ runAsUser: 1000
+ seccompProfile:
+ type: RuntimeDefault
+ initContainers:
+ - image: alpine:latest
+ imagePullPolicy: IfNotPresent
+ name: init1
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ add:
+ - NET_ADMIN
+ - NET_RAW
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: false
+ runAsGroup: 10001
+ runAsNonRoot: true
+ runAsUser: 10001
+ seccompProfile:
+ type: RuntimeDefault
+ - image: busybox:latest
+ imagePullPolicy: IfNotPresent
+ name: init2
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ add:
+ - SYS_TIME
+ drop:
+ - ALL
+ privileged: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 10002
+ runAsNonRoot: true
+ runAsUser: 10002
+ seccompProfile:
+ type: RuntimeDefault
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy-assert.yaml b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy-assert.yaml
new file mode 100644
index 000000000000..21bb1a0623da
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy-assert.yaml
@@ -0,0 +1,9 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-baseline
+status:
+ conditions:
+ - reason: Succeeded
+ status: "True"
+ type: Ready
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy.yaml b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy.yaml
new file mode 100644
index 000000000000..d554dccac897
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/policy.yaml
@@ -0,0 +1,19 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: psp-baseline
+spec:
+ failurePolicy: Ignore
+ background: true
+ validationFailureAction: Enforce
+ rules:
+ - name: baseline
+ match:
+ any:
+ - resources:
+ kinds:
+ - Pod
+ validate:
+ podSecurity:
+ level: baseline
+ version: v1.29
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-fail-assert.yaml b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-fail-assert.yaml
new file mode 100644
index 000000000000..777ee1351225
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-fail-assert.yaml
@@ -0,0 +1,33 @@
+apiVersion: wgpolicyk8s.io/v1alpha2
+kind: PolicyReport
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ ownerReferences:
+ - apiVersion: v1
+ kind: Pod
+ name: test-pod
+results:
+- message: 'Validation rule ''baseline'' failed. It violates PodSecurity "baseline:v1.29":
+ (Forbidden reason: non-default capabilities, field error list: [spec.initContainers[0].securityContext.capabilities.add
+ is forbidden, forbidden values found: [NET_ADMIN NET_RAW]])'
+ policy: psp-baseline
+ properties:
+ controls: capabilities_baseline
+ controlsJSON: '[{"ID":"capabilities_baseline","Name":"Capabilities","Images":["docker.io/alpine:latest","docker.io/busybox:latest"]}]'
+ standard: baseline
+ version: v1.29
+ result: fail
+ rule: baseline
+ scored: true
+ source: kyverno
+scope:
+ apiVersion: v1
+ kind: Pod
+ name: test-pod
+summary:
+ error: 0
+ fail: 1
+ pass: 0
+ skip: 0
+ warn: 0
\ No newline at end of file
diff --git a/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-skip-assert.yaml b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-skip-assert.yaml
new file mode 100644
index 000000000000..4ed6fc4592eb
--- /dev/null
+++ b/test/conformance/chainsaw/reports/background/multiple-exceptions-with-pod-security/report-skip-assert.yaml
@@ -0,0 +1,27 @@
+apiVersion: wgpolicyk8s.io/v1alpha2
+kind: PolicyReport
+metadata:
+ labels:
+ app.kubernetes.io/managed-by: kyverno
+ ownerReferences:
+ - apiVersion: v1
+ kind: Pod
+ name: test-pod
+results:
+- policy: psp-baseline
+ properties:
+ exceptions: init1-exception-baseline,init2-exception-baseline
+ result: skip
+ rule: baseline
+ scored: true
+ source: kyverno
+scope:
+ apiVersion: v1
+ kind: Pod
+ name: test-pod
+summary:
+ error: 0
+ fail: 0
+ pass: 0
+ skip: 1
+ warn: 0
From 8dadebb2ea6c0879714fda357118f87d39afefa1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 26 Jul 2024 16:20:37 +0800
Subject: [PATCH 33/44] chore(deps): bump github/codeql-action from 3.25.13 to
3.25.14 (#10731)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.13 to 3.25.14.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/2d790406f505036ef40ecba973cc774a50395aac...5cf07d8b700b67e235fbb65cbc84f69c0cf10464)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecard.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml
index 9cb9e1135b5d..d38393ec157a 100644
--- a/.github/workflows/scorecard.yaml
+++ b/.github/workflows/scorecard.yaml
@@ -40,6 +40,6 @@ jobs:
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13
+ uses: github/codeql-action/upload-sarif@5cf07d8b700b67e235fbb65cbc84f69c0cf10464 # v3.25.14
with:
sarif_file: results.sarif
From 8109f2194ebce7a635b61537819f126d92fc6e00 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 26 Jul 2024 09:09:20 +0000
Subject: [PATCH 34/44] chore(deps): bump sigs.k8s.io/release-utils from 0.8.3
to 0.8.4 (#10733)
Bumps [sigs.k8s.io/release-utils](https://github.com/kubernetes-sigs/release-utils) from 0.8.3 to 0.8.4.
- [Release notes](https://github.com/kubernetes-sigs/release-utils/releases)
- [Commits](https://github.com/kubernetes-sigs/release-utils/compare/v0.8.3...v0.8.4)
---
updated-dependencies:
- dependency-name: sigs.k8s.io/release-utils
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 977435bb7a0e..b62b059e0675 100644
--- a/go.mod
+++ b/go.mod
@@ -88,7 +88,7 @@ require (
sigs.k8s.io/kubectl-validate v0.0.4
sigs.k8s.io/kustomize/api v0.17.3
sigs.k8s.io/kustomize/kyaml v0.17.2
- sigs.k8s.io/release-utils v0.8.3
+ sigs.k8s.io/release-utils v0.8.4
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
sigs.k8s.io/yaml v1.4.0
)
diff --git a/go.sum b/go.sum
index 969e52546020..e50f2870413d 100644
--- a/go.sum
+++ b/go.sum
@@ -1244,8 +1244,8 @@ sigs.k8s.io/kustomize/api v0.17.3 h1:6GCuHSsxq7fN5yhF2XrC+AAr8gxQwhexgHflOAD/JJU
sigs.k8s.io/kustomize/api v0.17.3/go.mod h1:TuDH4mdx7jTfK61SQ/j1QZM/QWR+5rmEiNjvYlhzFhc=
sigs.k8s.io/kustomize/kyaml v0.17.2 h1:+AzvoJUY0kq4QAhH/ydPHHMRLijtUKiyVyh7fOSshr0=
sigs.k8s.io/kustomize/kyaml v0.17.2/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
-sigs.k8s.io/release-utils v0.8.3 h1:KtOtA4qDmzJyeQ2zkDsFVI25+NViwms/o5eL2NftFdA=
-sigs.k8s.io/release-utils v0.8.3/go.mod h1:fp82Fma06OXBhEJ+GUJKqvcplDBomruK1R/1fWJnsrQ=
+sigs.k8s.io/release-utils v0.8.4 h1:4QVr3UgbyY/d9p74LBhg0njSVQofUsAZqYOzVZBhdBw=
+sigs.k8s.io/release-utils v0.8.4/go.mod h1:m1bHfscTemQp+z+pLCZnkXih9n0+WukIUU70n6nFnU0=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
From f618717f755c81509d2535f0f8fd00ac59320f9f Mon Sep 17 00:00:00 2001
From: Ammar Yasser
Date: Fri, 26 Jul 2024 13:49:51 +0300
Subject: [PATCH 35/44] fix: Check for the client being nil before applying a
mutation (#10726)
Signed-off-by: aerosouund
Co-authored-by: shuting
---
pkg/engine/mutation.go | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/pkg/engine/mutation.go b/pkg/engine/mutation.go
index d84e2a50edc0..c4d70769f30a 100644
--- a/pkg/engine/mutation.go
+++ b/pkg/engine/mutation.go
@@ -2,6 +2,7 @@ package engine
import (
"context"
+ "fmt"
"time"
"github.com/go-logr/logr"
@@ -36,6 +37,9 @@ func (e *engine) mutate(
return nil, nil
}
if !policyContext.AdmissionOperation() && rule.HasMutateExisting() {
+ if e.client == nil {
+ return nil, fmt.Errorf("Handler factory requires a client but a nil client was passed, likely due to a bug or unsupported operation.")
+ }
return mutation.NewMutateExistingHandler(e.client)
}
return mutation.NewMutateResourceHandler()
From 734f1df059aeb12a3578198bfb12f27589691651 Mon Sep 17 00:00:00 2001
From: Mariam Fahmy
Date: Fri, 26 Jul 2024 16:45:54 +0300
Subject: [PATCH 36/44] fix: check the resource namespace (#10738)
Signed-off-by: Mariam Fahmy
---
.../processor/policy_processor.go | 2 +-
.../chainsaw-test.yaml | 21 +++++++++++++++++++
.../policy.yaml | 20 ++++++++++++++++++
3 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/chainsaw-test.yaml
create mode 100644 test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/policy.yaml
diff --git a/cmd/cli/kubectl-kyverno/processor/policy_processor.go b/cmd/cli/kubectl-kyverno/processor/policy_processor.go
index 415191dfed23..f7235f4c93df 100644
--- a/cmd/cli/kubectl-kyverno/processor/policy_processor.go
+++ b/cmd/cli/kubectl-kyverno/processor/policy_processor.go
@@ -254,7 +254,7 @@ func (p *PolicyProcessor) makePolicyContext(
return nil, fmt.Errorf("failed to update old resource in json context (%w)", err)
}
}
- if p.Client != nil && len(namespaceLabels) == 0 && resource.GetKind() != "Namespace" {
+ if p.Client != nil && len(namespaceLabels) == 0 && resource.GetKind() != "Namespace" && resource.GetNamespace() != "" {
ns, err := p.Client.GetResource(context.TODO(), "v1", "Namespace", "", resource.GetNamespace())
if err != nil {
log.Log.Error(err, "failed to get the resource's namespace")
diff --git a/test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/chainsaw-test.yaml b/test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/chainsaw-test.yaml
new file mode 100644
index 000000000000..1e4110b4ffe1
--- /dev/null
+++ b/test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/chainsaw-test.yaml
@@ -0,0 +1,21 @@
+apiVersion: chainsaw.kyverno.io/v1alpha1
+kind: Test
+metadata:
+ creationTimestamp: null
+ name: apply-on-cluster-scoped-resources
+spec:
+ steps:
+ - name: step-01
+ try:
+ - script:
+ content: kubectl create rolebinding my-rolebinding --role=my-role --user=my-user
+ - name: step-02
+ try:
+ - script:
+ content: kubectl create clusterrolebinding clusterrolebinding --clusterrole=my-clusterrole --user=my-user
+ - name: step-04
+ try:
+ - script:
+ content: kyverno apply policy.yaml --cluster
+ check:
+ ($error != null): false
diff --git a/test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/policy.yaml b/test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/policy.yaml
new file mode 100644
index 000000000000..8afa58827f7a
--- /dev/null
+++ b/test/conformance/chainsaw/cli/apply/apply-on-cluster-scoped-resources/policy.yaml
@@ -0,0 +1,20 @@
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+ name: restrict-binding-system-groups
+spec:
+ validationFailureAction: Enforce
+ background: true
+ rules:
+ - name: restrict-masters
+ match:
+ any:
+ - resources:
+ kinds:
+ - RoleBinding
+ - ClusterRoleBinding
+ validate:
+ message: "Binding to system:masters is not allowed."
+ pattern:
+ roleRef:
+ name: "!system:masters"
\ No newline at end of file
From 7c730aee6f65b17cdaf4dc845e7bc5b695db4bb9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 29 Jul 2024 15:50:53 +0800
Subject: [PATCH 37/44] chore(deps): bump sigstore/scaffolding from 0.7.4 to
0.7.5 (#10744)
Bumps [sigstore/scaffolding](https://github.com/sigstore/scaffolding) from 0.7.4 to 0.7.5.
- [Release notes](https://github.com/sigstore/scaffolding/releases)
- [Changelog](https://github.com/sigstore/scaffolding/blob/main/release.md)
- [Commits](https://github.com/sigstore/scaffolding/compare/26f31cb72ca848bb0273fcbd7a4ebf187ec4d711...634364a897dff805b1a26ab18abaefe379616785)
---
updated-dependencies:
- dependency-name: sigstore/scaffolding
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/conformance.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/conformance.yaml b/.github/workflows/conformance.yaml
index 2a26feaac5a9..5f9efdf6361d 100644
--- a/.github/workflows/conformance.yaml
+++ b/.github/workflows/conformance.yaml
@@ -646,7 +646,7 @@ jobs:
uses: kyverno/action-install-chainsaw@573a9c636f7c586f86ecb9de9674176daf80ee29 # v0.2.5
# create cluster
- name: Create kind cluster and setup Sigstore Scaffolding
- uses: sigstore/scaffolding/actions/setup@26f31cb72ca848bb0273fcbd7a4ebf187ec4d711
+ uses: sigstore/scaffolding/actions/setup@634364a897dff805b1a26ab18abaefe379616785
with:
version: main
k8s-version: ${{ matrix.k8s-version.version }}
From 70c1dc6a06da1b8b4190dcb037359a8e70fc59c0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 29 Jul 2024 08:40:45 +0000
Subject: [PATCH 38/44] chore(deps): bump github.com/onsi/gomega from 1.33.1 to
1.34.0 (#10732)
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.33.1 to 1.34.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.33.1...v1.34.0)
---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/go.mod b/go.mod
index b62b059e0675..b551b1ea1aa3 100644
--- a/go.mod
+++ b/go.mod
@@ -37,7 +37,7 @@ require (
github.com/notaryproject/notation-core-go v1.0.3
github.com/notaryproject/notation-go v1.1.1
github.com/onsi/ginkgo v1.16.5
- github.com/onsi/gomega v1.33.1
+ github.com/onsi/gomega v1.34.0
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.0
github.com/pkg/errors v0.9.1
diff --git a/go.sum b/go.sum
index e50f2870413d..adcfd12f90e1 100644
--- a/go.sum
+++ b/go.sum
@@ -692,14 +692,14 @@ github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vv
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
-github.com/onsi/ginkgo/v2 v2.17.2 h1:7eMhcy3GimbsA3hEnVKdw/PQM9XN9krpKVXsZdph0/g=
-github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc=
+github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
+github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro=
-github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
-github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
+github.com/onsi/gomega v1.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os=
+github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo=
github.com/open-policy-agent/gatekeeper/v3 v3.14.0 h1:bQV5temnG6lQHk0Bm7paT2T3oV5cZqtjp4MjiWwiKrE=
github.com/open-policy-agent/gatekeeper/v3 v3.14.0/go.mod h1:F8UlPaPg/6TuZcVoYLj1+1ptnxOCOxKyasEIv4IzSOs=
github.com/open-policy-agent/opa v0.61.0 h1:nhncQ2CAYtQTV/SMBhDDPsCpCQsUW+zO/1j+T5V7oZg=
From c2646f7a9db6656903e89b5edb70448fc88670a3 Mon Sep 17 00:00:00 2001
From: Khaled Emara
Date: Mon, 29 Jul 2024 14:57:20 +0300
Subject: [PATCH 39/44] feat(json): reduce reliance on `DocumentToUntyped()`
(#10724)
Signed-off-by: Khaled Emara
Co-authored-by: Mariam Fahmy
---
api/kyverno/v1/common_types.go | 25 +++++++++++++++++--
api/kyverno/v1/zz_generated.deepcopy.go | 6 ++---
docs/user/crd/index.html | 8 ++----
docs/user/crd/kyverno.v1.html | 4 +--
.../kyverno/v1/variable.go | 12 ++++-----
pkg/engine/context/loaders/variable.go | 12 ++++-----
pkg/engine/jsonutils/convert.go | 5 ++++
pkg/validation/policy/validate.go | 4 +--
8 files changed, 48 insertions(+), 28 deletions(-)
diff --git a/api/kyverno/v1/common_types.go b/api/kyverno/v1/common_types.go
index cee5da6d7160..15b4a2662e23 100644
--- a/api/kyverno/v1/common_types.go
+++ b/api/kyverno/v1/common_types.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"fmt"
+ "github.com/kyverno/kyverno/api/kyverno"
"github.com/kyverno/kyverno/pkg/engine/variables/regex"
"github.com/kyverno/kyverno/pkg/pss/utils"
"github.com/sigstore/k8s-manifest-sigstore/pkg/k8smanifest"
@@ -119,7 +120,9 @@ type ContextEntry struct {
type Variable struct {
// Value is any arbitrary JSON object representable in YAML or JSON form.
// +optional
- Value *apiextv1.JSON `json:"value,omitempty" yaml:"value,omitempty"`
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ Value *kyverno.Any `json:"value,omitempty" yaml:"value,omitempty"`
// JMESPath is an optional JMESPath Expression that can be used to
// transform the variable.
@@ -129,7 +132,25 @@ type Variable struct {
// Default is an optional arbitrary JSON object that the variable may take if the JMESPath
// expression evaluates to nil
// +optional
- Default *apiextv1.JSON `json:"default,omitempty" yaml:"default,omitempty"`
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ Default *kyverno.Any `json:"default,omitempty" yaml:"default,omitempty"`
+}
+
+func (v *Variable) GetValue() any {
+ return kyverno.FromAny(v.Value)
+}
+
+func (v *Variable) SetValue(in any) {
+ v.Value = kyverno.ToAny(in)
+}
+
+func (v *Variable) GetDefault() any {
+ return kyverno.FromAny(v.Default)
+}
+
+func (v *Variable) SetDefault(in any) {
+ v.Default = kyverno.ToAny(in)
}
// ImageRegistry defines requests to an OCI/Docker V2 registry to fetch image
diff --git a/api/kyverno/v1/zz_generated.deepcopy.go b/api/kyverno/v1/zz_generated.deepcopy.go
index 571a9df4910a..478a57f7e7a1 100755
--- a/api/kyverno/v1/zz_generated.deepcopy.go
+++ b/api/kyverno/v1/zz_generated.deepcopy.go
@@ -1678,13 +1678,11 @@ func (in *Variable) DeepCopyInto(out *Variable) {
*out = *in
if in.Value != nil {
in, out := &in.Value, &out.Value
- *out = new(apiextensionsv1.JSON)
- (*in).DeepCopyInto(*out)
+ *out = (*in).DeepCopy()
}
if in.Default != nil {
in, out := &in.Default, &out.Default
- *out = new(apiextensionsv1.JSON)
- (*in).DeepCopyInto(*out)
+ *out = (*in).DeepCopy()
}
return
}
diff --git a/docs/user/crd/index.html b/docs/user/crd/index.html
index d755e58da8c8..f87b0056b501 100644
--- a/docs/user/crd/index.html
+++ b/docs/user/crd/index.html
@@ -4593,9 +4593,7 @@ Variable
value
-
-Kubernetes apiextensions/v1.JSON
-
+github.com/kyverno/kyverno/api/kyverno.Any
|
@@ -4620,9 +4618,7 @@ Variable
default
-
-Kubernetes apiextensions/v1.JSON
-
+github.com/kyverno/kyverno/api/kyverno.Any
|
diff --git a/docs/user/crd/kyverno.v1.html b/docs/user/crd/kyverno.v1.html
index 0b7d70cb9dbc..2ef4588bd35a 100644
--- a/docs/user/crd/kyverno.v1.html
+++ b/docs/user/crd/kyverno.v1.html
@@ -9213,7 +9213,7 @@ Variable
- k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
+ github.com/kyverno/kyverno/api/kyverno.Any
|
@@ -9268,7 +9268,7 @@ Variable
- k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
+ github.com/kyverno/kyverno/api/kyverno.Any
|
diff --git a/pkg/client/applyconfigurations/kyverno/v1/variable.go b/pkg/client/applyconfigurations/kyverno/v1/variable.go
index 53c44723b52f..59f292479663 100644
--- a/pkg/client/applyconfigurations/kyverno/v1/variable.go
+++ b/pkg/client/applyconfigurations/kyverno/v1/variable.go
@@ -19,15 +19,15 @@ limitations under the License.
package v1
import (
- v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
+ kyverno "github.com/kyverno/kyverno/api/kyverno"
)
// VariableApplyConfiguration represents an declarative configuration of the Variable type for use
// with apply.
type VariableApplyConfiguration struct {
- Value *v1.JSON `json:"value,omitempty"`
- JMESPath *string `json:"jmesPath,omitempty"`
- Default *v1.JSON `json:"default,omitempty"`
+ Value *kyverno.Any `json:"value,omitempty"`
+ JMESPath *string `json:"jmesPath,omitempty"`
+ Default *kyverno.Any `json:"default,omitempty"`
}
// VariableApplyConfiguration constructs an declarative configuration of the Variable type for use with
@@ -39,7 +39,7 @@ func Variable() *VariableApplyConfiguration {
// WithValue sets the Value field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Value field is set to the value of the last call.
-func (b *VariableApplyConfiguration) WithValue(value v1.JSON) *VariableApplyConfiguration {
+func (b *VariableApplyConfiguration) WithValue(value kyverno.Any) *VariableApplyConfiguration {
b.Value = &value
return b
}
@@ -55,7 +55,7 @@ func (b *VariableApplyConfiguration) WithJMESPath(value string) *VariableApplyCo
// WithDefault sets the Default field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Default field is set to the value of the last call.
-func (b *VariableApplyConfiguration) WithDefault(value v1.JSON) *VariableApplyConfiguration {
+func (b *VariableApplyConfiguration) WithDefault(value kyverno.Any) *VariableApplyConfiguration {
b.Default = &value
return b
}
diff --git a/pkg/engine/context/loaders/variable.go b/pkg/engine/context/loaders/variable.go
index 22e002464d79..270f9890455b 100644
--- a/pkg/engine/context/loaders/variable.go
+++ b/pkg/engine/context/loaders/variable.go
@@ -62,24 +62,24 @@ func (vl *variableLoader) loadVariable() (err error) {
}
var defaultValue interface{} = nil
- if entry.Variable.Default != nil {
- value, err := jsonutils.DocumentToUntyped(entry.Variable.Default)
+ if entry.Variable.GetDefault() != nil {
+ value, err := jsonutils.DocumentToUntyped(entry.Variable.GetDefault())
if err != nil {
return fmt.Errorf("invalid default for variable %s", entry.Name)
}
defaultValue, err = variables.SubstituteAll(logger, ctx, value)
if err != nil {
- return fmt.Errorf("failed to substitute variables in context entry %s %s: %v", entry.Name, entry.Variable.Default, err)
+ return fmt.Errorf("failed to substitute variables in context entry %s %s: %v", entry.Name, entry.Variable.GetDefault(), err)
}
logger.V(4).Info("evaluated default value", "variable name", entry.Name, "jmespath", defaultValue)
}
var output interface{} = defaultValue
- if entry.Variable.Value != nil {
- value, _ := jsonutils.DocumentToUntyped(entry.Variable.Value)
+ if entry.Variable.GetValue() != nil {
+ value, _ := jsonutils.DocumentToUntyped(entry.Variable.GetValue())
variable, err := variables.SubstituteAll(logger, ctx, value)
if err != nil {
- return fmt.Errorf("failed to substitute variables in context entry %s %s: %v", entry.Name, entry.Variable.Value, err)
+ return fmt.Errorf("failed to substitute variables in context entry %s %s: %v", entry.Name, entry.Variable.GetValue(), err)
}
if path != "" {
variable, err := applyJMESPath(vl.jp, path, variable)
diff --git a/pkg/engine/jsonutils/convert.go b/pkg/engine/jsonutils/convert.go
index 6b38dfc77679..64b9d6d1f55c 100644
--- a/pkg/engine/jsonutils/convert.go
+++ b/pkg/engine/jsonutils/convert.go
@@ -7,6 +7,11 @@ var json = jsoniter.ConfigCompatibleWithStandardLibrary
// DocumentToUntyped converts a typed object to JSON data
// i.e. string, []interface{}, map[string]interface{}
func DocumentToUntyped(doc interface{}) (interface{}, error) {
+ switch doc.(type) {
+ case string, []any, map[string]any:
+ return doc, nil
+ }
+
jsonDoc, err := json.Marshal(doc)
if err != nil {
return nil, err
diff --git a/pkg/validation/policy/validate.go b/pkg/validation/policy/validate.go
index 6a550913cc09..359e013e96af 100644
--- a/pkg/validation/policy/validate.go
+++ b/pkg/validation/policy/validate.go
@@ -1303,10 +1303,10 @@ func validateVariable(entry kyvernov1.ContextEntry) error {
return fmt.Errorf("failed to parse JMESPath %s: %v", entry.Variable.JMESPath, err)
}
}
- if entry.Variable.Value == nil && jmesPath == "" {
+ if entry.Variable.GetValue() == nil && jmesPath == "" {
return fmt.Errorf("a variable must define a value or a jmesPath expression")
}
- if entry.Variable.Default != nil && jmesPath == "" {
+ if entry.Variable.GetDefault() != nil && jmesPath == "" {
return fmt.Errorf("a variable must define a default value only when a jmesPath expression is defined")
}
return nil
From 0aeb32df3b88b7f8b886697eddda5b8d614b229a Mon Sep 17 00:00:00 2001
From: Khaled Emara
Date: Mon, 29 Jul 2024 16:46:11 +0300
Subject: [PATCH 40/44] feat(autogen): use static bytes instead of string
(#10723)
Signed-off-by: Khaled Emara
Co-authored-by: Mariam Fahmy
---
pkg/autogen/autogen.go | 17 ++------
pkg/autogen/autogen_test.go | 4 +-
pkg/autogen/rule.go | 81 ++++++++++++++++++++++++-------------
3 files changed, 58 insertions(+), 44 deletions(-)
diff --git a/pkg/autogen/autogen.go b/pkg/autogen/autogen.go
index 4d6db9f2bfde..ebeced6693e1 100644
--- a/pkg/autogen/autogen.go
+++ b/pkg/autogen/autogen.go
@@ -1,9 +1,9 @@
package autogen
import (
+ "encoding/json"
"strings"
- jsoniter "github.com/json-iterator/go"
"github.com/kyverno/kyverno/api/kyverno"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
kubeutils "github.com/kyverno/kyverno/pkg/utils/kube"
@@ -190,23 +190,14 @@ func generateRules(spec *kyvernov1.Spec, controllers string) []kyvernov1.Rule {
}
func convertRule(rule kyvernoRule, kind string) (*kyvernov1.Rule, error) {
- json := jsoniter.ConfigCompatibleWithStandardLibrary
-
if bytes, err := json.Marshal(rule); err != nil {
return nil, err
} else {
- bytes = updateGenRuleByte(bytes, kind)
- if err := json.Unmarshal(bytes, &rule); err != nil {
- return nil, err
- }
-
// CEL variables are object, oldObject, request, params and authorizer.
// Therefore CEL expressions can be either written as object.spec or request.object.spec
- if rule.Validation != nil && rule.Validation.CEL != nil {
- bytes = updateCELFields(bytes, kind)
- if err := json.Unmarshal(bytes, &rule); err != nil {
- return nil, err
- }
+ bytes = updateFields(bytes, kind, rule.Validation != nil && rule.Validation.CEL != nil)
+ if err := json.Unmarshal(bytes, &rule); err != nil {
+ return nil, err
}
}
diff --git a/pkg/autogen/autogen_test.go b/pkg/autogen/autogen_test.go
index 6c5523aec46f..b7c70283bbae 100644
--- a/pkg/autogen/autogen_test.go
+++ b/pkg/autogen/autogen_test.go
@@ -343,7 +343,7 @@ func TestUpdateGenRuleByte(t *testing.T) {
},
}
for _, tt := range tests {
- got := updateGenRuleByte(tt.pbyte, tt.kind)
+ got := updateFields(tt.pbyte, tt.kind, false)
if !reflect.DeepEqual(got, tt.want) {
t.Errorf("updateGenRuleByte() = %v, want %v", string(got), string(tt.want))
}
@@ -384,7 +384,7 @@ func TestUpdateCELFields(t *testing.T) {
},
}
for _, tt := range tests {
- got := updateCELFields(tt.pbyte, tt.kind)
+ got := updateFields(tt.pbyte, tt.kind, true)
if !reflect.DeepEqual(got, tt.want) {
t.Errorf("updateCELFields() = %v, want %v", string(got), string(tt.want))
}
diff --git a/pkg/autogen/rule.go b/pkg/autogen/rule.go
index 07c97fdf5a13..698bfe2010b1 100644
--- a/pkg/autogen/rule.go
+++ b/pkg/autogen/rule.go
@@ -1,6 +1,7 @@
package autogen
import (
+ "bytes"
"sort"
"strings"
@@ -312,34 +313,56 @@ func generateCronJobRule(rule *kyvernov1.Rule, controllers string) *kyvernov1.Ru
)
}
-func updateGenRuleByte(pbyte []byte, kind string) (obj []byte) {
- if kind == "Pod" {
- obj = []byte(strings.ReplaceAll(string(pbyte), "request.object.spec", "request.object.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "request.oldObject.spec", "request.oldObject.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "request.object.metadata", "request.object.spec.template.metadata"))
- obj = []byte(strings.ReplaceAll(string(obj), "request.oldObject.metadata", "request.oldObject.spec.template.metadata"))
- }
- if kind == "Cronjob" {
- obj = []byte(strings.ReplaceAll(string(pbyte), "request.object.spec", "request.object.spec.jobTemplate.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "request.oldObject.spec", "request.oldObject.spec.jobTemplate.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "request.object.metadata", "request.object.spec.jobTemplate.spec.template.metadata"))
- obj = []byte(strings.ReplaceAll(string(obj), "request.oldObject.metadata", "request.oldObject.spec.jobTemplate.spec.template.metadata"))
- }
- return obj
-}
+var (
+ podReplacementRules [][2][]byte = [][2][]byte{
+ {[]byte("request.object.spec"), []byte("request.object.spec.template.spec")},
+ {[]byte("request.oldObject.spec"), []byte("request.oldObject.spec.template.spec")},
+ {[]byte("request.object.metadata"), []byte("request.object.spec.template.metadata")},
+ {[]byte("request.oldObject.metadata"), []byte("request.oldObject.spec.template.metadata")},
+ }
+ podCELReplacementRules [][2][]byte = [][2][]byte{
+ {[]byte("object.spec"), []byte("object.spec.template.spec")},
+ {[]byte("oldObject.spec"), []byte("oldObject.spec.template.spec")},
+ {[]byte("object.metadata"), []byte("object.spec.template.metadata")},
+ {[]byte("oldObject.metadata"), []byte("oldObject.spec.template.metadata")},
+ }
+ cronJobReplacementRules [][2][]byte = [][2][]byte{
+ {[]byte("request.object.spec"), []byte("request.object.spec.jobTemplate.spec.template.spec")},
+ {[]byte("request.oldObject.spec"), []byte("request.oldObject.spec.jobTemplate.spec.template.spec")},
+ {[]byte("request.object.metadata"), []byte("request.object.spec.jobTemplate.spec.template.metadata")},
+ {[]byte("request.oldObject.metadata"), []byte("request.oldObject.spec.jobTemplate.spec.template.metadata")},
+ }
+ cronJobCELReplacementRules [][2][]byte = [][2][]byte{
+ {[]byte("object.spec"), []byte("object.spec.jobTemplate.spec.template.spec")},
+ {[]byte("oldObject.spec"), []byte("oldObject.spec.jobTemplate.spec.template.spec")},
+ {[]byte("object.metadata"), []byte("object.spec.jobTemplate.spec.template.metadata")},
+ {[]byte("oldObject.metadata"), []byte("oldObject.spec.jobTemplate.spec.template.metadata")},
+ }
+)
+
+func updateFields(data []byte, kind string, cel bool) []byte {
+ switch kind {
+ case "Pod":
+ if cel {
+ for _, replacement := range podCELReplacementRules {
+ data = bytes.ReplaceAll(data, replacement[0], replacement[1])
+ }
+ } else {
+ for _, replacement := range podReplacementRules {
+ data = bytes.ReplaceAll(data, replacement[0], replacement[1])
+ }
+ }
+ case "Cronjob":
+ if cel {
+ for _, replacement := range cronJobCELReplacementRules {
+ data = bytes.ReplaceAll(data, replacement[0], replacement[1])
+ }
+ } else {
+ for _, replacement := range cronJobReplacementRules {
+ data = bytes.ReplaceAll(data, replacement[0], replacement[1])
+ }
+ }
+ }
-func updateCELFields(pbyte []byte, kind string) (obj []byte) {
- if kind == "Pod" {
- obj = []byte(strings.ReplaceAll(string(pbyte), "object.spec", "object.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "oldObject.spec", "oldObject.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "object.metadata", "object.spec.template.metadata"))
- obj = []byte(strings.ReplaceAll(string(obj), "oldObject.metadata", "oldObject.spec.template.metadata"))
- }
- if kind == "Cronjob" {
- obj = []byte(strings.ReplaceAll(string(pbyte), "object.spec", "object.spec.jobTemplate.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "oldObject.spec", "oldObject.spec.jobTemplate.spec.template.spec"))
- obj = []byte(strings.ReplaceAll(string(obj), "object.metadata", "object.spec.jobTemplate.spec.template.metadata"))
- obj = []byte(strings.ReplaceAll(string(obj), "oldObject.metadata", "oldObject.spec.jobTemplate.spec.template.metadata"))
- }
- return obj
+ return data
}
From 6aba51564d441f0cb36fd35c4ca67bb6e0068015 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 29 Jul 2024 15:20:44 +0000
Subject: [PATCH 41/44] chore(deps): bump github/codeql-action from 3.25.14 to
3.25.15 (#10743)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.14 to 3.25.15.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/5cf07d8b700b67e235fbb65cbc84f69c0cf10464...afb54ba388a7dca6ecae48f608c4ff05ff4cc77a)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecard.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml
index d38393ec157a..35958bcd639c 100644
--- a/.github/workflows/scorecard.yaml
+++ b/.github/workflows/scorecard.yaml
@@ -40,6 +40,6 @@ jobs:
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@5cf07d8b700b67e235fbb65cbc84f69c0cf10464 # v3.25.14
+ uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15
with:
sarif_file: results.sarif
From 7232d8e57e8fef1081a7294e091c7f278bb1e0d4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 29 Jul 2024 16:18:20 +0000
Subject: [PATCH 42/44] chore(deps): bump ossf/scorecard-action from 2.3.3 to
2.4.0 (#10742)
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.3 to 2.4.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/dc50aa9510b46c811795eb24b2f1ba02a914e534...62b2cac7ed8198b15735ed49ab1e5cf35480ba46)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecard.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml
index 35958bcd639c..798e0fe53e35 100644
--- a/.github/workflows/scorecard.yaml
+++ b/.github/workflows/scorecard.yaml
@@ -27,7 +27,7 @@ jobs:
with:
persist-credentials: false
- name: Run analysis
- uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3
+ uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
with:
results_file: results.sarif
results_format: sarif
From 74e17cc6294de9fa2a0a106037cb029bf9e9f1d0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 30 Jul 2024 16:45:14 +0800
Subject: [PATCH 43/44] chore(deps): bump golangci/golangci-lint-action from
6.0.1 to 6.1.0 (#10746)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/a4f60bb28d35aeee14e6880718e0c85ff1882e64...aaa42aa0628b4ae2578232a66b541047968fac86)
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/lint.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index ed94164bcb56..0e678289c3c8 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -33,7 +33,7 @@ jobs:
uses: ./.github/actions/setup-build-env
timeout-minutes: 10
- name: golangci-lint
- uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v3.7.1
+ uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v3.7.1
with:
version: v1.54.2
skip-cache: true
From d17375204111a88f6425ce09d98b9fb9d4be0af2 Mon Sep 17 00:00:00 2001
From: Khaled Emara
Date: Tue, 30 Jul 2024 13:52:41 +0300
Subject: [PATCH 44/44] feat(json): unmarshal once per policy (#10701)
Signed-off-by: Khaled Emara
Co-authored-by: Mariam Fahmy
Co-authored-by: shuting
---
api/kyverno/v1/common_types.go | 22 ++-
api/kyverno/v1/wrappers.go | 79 ++++++++++
api/kyverno/v1/zz_generated.deepcopy.go | 6 +-
docs/user/crd/index.html | 78 +++++++++-
docs/user/crd/kyverno.v1.html | 140 +++++++++++++++++-
.../kyverno/v1/foreachmutation.go | 4 +-
.../kyverno/v1/foreachvalidation.go | 5 +-
pkg/engine/forceMutate.go | 13 +-
pkg/engine/handlers/mutation/common.go | 11 +-
.../handlers/validation/validate_resource.go | 12 +-
pkg/policy/mutate/validate.go | 16 +-
pkg/policy/validate/validate.go | 2 +-
pkg/utils/api/json.go | 16 --
pkg/validation/policy/validate.go | 18 +--
14 files changed, 345 insertions(+), 77 deletions(-)
create mode 100644 api/kyverno/v1/wrappers.go
diff --git a/api/kyverno/v1/common_types.go b/api/kyverno/v1/common_types.go
index 15b4a2662e23..5592dabb307d 100644
--- a/api/kyverno/v1/common_types.go
+++ b/api/kyverno/v1/common_types.go
@@ -427,7 +427,16 @@ type ForEachMutation struct {
// Foreach declares a nested foreach iterator
// +optional
- ForEachMutation *apiextv1.JSON `json:"foreach,omitempty" yaml:"foreach,omitempty"`
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ ForEachMutation *ForEachMutationWrapper `json:"foreach,omitempty" yaml:"foreach,omitempty"`
+}
+
+func (m *ForEachMutation) GetForEachMutation() []ForEachMutation {
+ if m.ForEachMutation == nil {
+ return nil
+ }
+ return m.ForEachMutation.Items
}
func (m *ForEachMutation) GetPatchStrategicMerge() apiextensions.JSON {
@@ -690,7 +699,16 @@ type ForEachValidation struct {
// Foreach declares a nested foreach iterator
// +optional
- ForEachValidation *apiextv1.JSON `json:"foreach,omitempty" yaml:"foreach,omitempty"`
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ ForEachValidation *ForEachValidationWrapper `json:"foreach,omitempty" yaml:"foreach,omitempty"`
+}
+
+func (v *ForEachValidation) GetForEachValidation() []ForEachValidation {
+ if v.ForEachValidation == nil {
+ return nil
+ }
+ return v.ForEachValidation.Items
}
func (v *ForEachValidation) GetPattern() apiextensions.JSON {
diff --git a/api/kyverno/v1/wrappers.go b/api/kyverno/v1/wrappers.go
new file mode 100644
index 000000000000..710bfd0dcccc
--- /dev/null
+++ b/api/kyverno/v1/wrappers.go
@@ -0,0 +1,79 @@
+package v1
+
+import (
+ "encoding/json"
+
+ "github.com/jinzhu/copier"
+)
+
+// ForEachValidationWrapper contains a list of ForEach descriptors.
+// +k8s:deepcopy-gen=false
+type ForEachValidationWrapper struct {
+ // Item is a descriptor on how to iterate over the list of items.
+ // +optional
+ Items []ForEachValidation `json:"-"`
+}
+
+func (in *ForEachValidationWrapper) DeepCopyInto(out *ForEachValidationWrapper) {
+ if err := copier.Copy(out, in); err != nil {
+ panic("deep copy failed")
+ }
+}
+
+func (in *ForEachValidationWrapper) DeepCopy() *ForEachValidationWrapper {
+ if in == nil {
+ return nil
+ }
+ out := new(ForEachValidationWrapper)
+ in.DeepCopyInto(out)
+ return out
+}
+
+func (a *ForEachValidationWrapper) MarshalJSON() ([]byte, error) {
+ return json.Marshal(a.Items)
+}
+
+func (a *ForEachValidationWrapper) UnmarshalJSON(data []byte) error {
+ var res []ForEachValidation
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+ a.Items = res
+ return nil
+}
+
+// ForEachMutationWrapper contains a list of ForEach descriptors.
+// +k8s:deepcopy-gen=false
+type ForEachMutationWrapper struct {
+ // Item is a descriptor on how to iterate over the list of items.
+ // +optional
+ Items []ForEachMutation `json:"-"`
+}
+
+func (in *ForEachMutationWrapper) DeepCopyInto(out *ForEachMutationWrapper) {
+ if err := copier.Copy(out, in); err != nil {
+ panic("deep copy failed")
+ }
+}
+
+func (in *ForEachMutationWrapper) DeepCopy() *ForEachMutationWrapper {
+ if in == nil {
+ return nil
+ }
+ out := new(ForEachMutationWrapper)
+ in.DeepCopyInto(out)
+ return out
+}
+
+func (a *ForEachMutationWrapper) MarshalJSON() ([]byte, error) {
+ return json.Marshal(a.Items)
+}
+
+func (a *ForEachMutationWrapper) UnmarshalJSON(data []byte) error {
+ var res []ForEachMutation
+ if err := json.Unmarshal(data, &res); err != nil {
+ return err
+ }
+ a.Items = res
+ return nil
+}
diff --git a/api/kyverno/v1/zz_generated.deepcopy.go b/api/kyverno/v1/zz_generated.deepcopy.go
index 478a57f7e7a1..a2e740189167 100755
--- a/api/kyverno/v1/zz_generated.deepcopy.go
+++ b/api/kyverno/v1/zz_generated.deepcopy.go
@@ -565,8 +565,7 @@ func (in *ForEachMutation) DeepCopyInto(out *ForEachMutation) {
}
if in.ForEachMutation != nil {
in, out := &in.ForEachMutation, &out.ForEachMutation
- *out = new(apiextensionsv1.JSON)
- (*in).DeepCopyInto(*out)
+ *out = (*in).DeepCopy()
}
return
}
@@ -618,8 +617,7 @@ func (in *ForEachValidation) DeepCopyInto(out *ForEachValidation) {
}
if in.ForEachValidation != nil {
in, out := &in.ForEachValidation, &out.ForEachValidation
- *out = new(apiextensionsv1.JSON)
- (*in).DeepCopyInto(*out)
+ *out = (*in).DeepCopy()
}
return
}
diff --git a/docs/user/crd/index.html b/docs/user/crd/index.html
index f87b0056b501..13d4807a30bd 100644
--- a/docs/user/crd/index.html
+++ b/docs/user/crd/index.html
@@ -1615,6 +1615,7 @@ ForEachMutation
(Appears on:
+ForEachMutationWrapper,
Mutation)
@@ -1718,8 +1719,8 @@
+(Appears on:
+ForEachMutation)
+
+
+
ForEachMutationWrapper contains a list of ForEach descriptors.
+
+
+
+
+Field |
+Description |
+
+
+
+
+
+-
+
+
+[]ForEachMutation
+
+
+ |
+
+(Optional)
+ Item is a descriptor on how to iterate over the list of items.
+ |
+
+
+
+
ForEachValidation
(Appears on:
+ForEachValidationWrapper,
Validation,
Validation)
@@ -1852,8 +1888,8 @@ ForEachValidation
foreach
-
-Kubernetes apiextensions/v1.JSON
+
+ForEachValidationWrapper
|
@@ -1865,6 +1901,40 @@ ForEachValidation
+ForEachValidationWrapper
+
+
+(Appears on:
+ForEachValidation)
+
+
+
ForEachValidationWrapper contains a list of ForEach descriptors.
+
+
+
+
+Field |
+Description |
+
+
+
+
+
+-
+
+
+[]ForEachValidation
+
+
+ |
+
+(Optional)
+ Item is a descriptor on how to iterate over the list of items.
+ |
+
+
+
+
ForeachOrder
(string
alias)
diff --git a/docs/user/crd/kyverno.v1.html b/docs/user/crd/kyverno.v1.html
index 2ef4588bd35a..dc349e3865e7 100644
--- a/docs/user/crd/kyverno.v1.html
+++ b/docs/user/crd/kyverno.v1.html
@@ -3318,6 +3318,7 @@
ForEachMutation
(Appears in:
+ ForEachMutationWrapper,
Mutation)
@@ -3529,7 +3530,9 @@ ForEachMutation
- k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
+
+ ForEachMutationWrapper
+
@@ -3548,6 +3551,71 @@ ForEachMutation
+
+
+
+
+ ForEachMutationWrapper
+
+
+
+
+ (Appears in:
+ ForEachMutation)
+
+
+
+ ForEachMutationWrapper contains a list of ForEach descriptors.
+
+
+
+
+
+
+ Field |
+ Description |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+ []ForEachMutation
+
+
+
+ |
+
+
+
+ Item is a descriptor on how to iterate over the list of items.
+
+
+
+
+
+ |
+
+
+
+
+
@@ -3558,6 +3626,7 @@ ForEachValidation
(Appears in:
+ ForEachValidationWrapper,
Validation)
@@ -3795,7 +3864,9 @@ ForEachValidation
- k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON
+
+ ForEachValidationWrapper
+
@@ -3814,6 +3885,71 @@ ForEachValidation
+
+
+
+
+ ForEachValidationWrapper
+
+
+
+
+ (Appears in:
+ ForEachValidation)
+
+
+
+ ForEachValidationWrapper contains a list of ForEach descriptors.
+
+
+
+
+
+
+ Field |
+ Description |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+ []ForEachValidation
+
+
+
+ |
+
+
+
+ Item is a descriptor on how to iterate over the list of items.
+
+
+
+
+
+ |
+
+
+
+
+
diff --git a/pkg/client/applyconfigurations/kyverno/v1/foreachmutation.go b/pkg/client/applyconfigurations/kyverno/v1/foreachmutation.go
index 96df14f47951..d6f56a66968a 100644
--- a/pkg/client/applyconfigurations/kyverno/v1/foreachmutation.go
+++ b/pkg/client/applyconfigurations/kyverno/v1/foreachmutation.go
@@ -32,7 +32,7 @@ type ForEachMutationApplyConfiguration struct {
AnyAllConditions *AnyAllConditionsApplyConfiguration `json:"preconditions,omitempty"`
RawPatchStrategicMerge *apiextensionsv1.JSON `json:"patchStrategicMerge,omitempty"`
PatchesJSON6902 *string `json:"patchesJson6902,omitempty"`
- ForEachMutation *apiextensionsv1.JSON `json:"foreach,omitempty"`
+ ForEachMutation *v1.ForEachMutationWrapper `json:"foreach,omitempty"`
}
// ForEachMutationApplyConfiguration constructs an declarative configuration of the ForEachMutation type for use with
@@ -97,7 +97,7 @@ func (b *ForEachMutationApplyConfiguration) WithPatchesJSON6902(value string) *F
// WithForEachMutation sets the ForEachMutation field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the ForEachMutation field is set to the value of the last call.
-func (b *ForEachMutationApplyConfiguration) WithForEachMutation(value apiextensionsv1.JSON) *ForEachMutationApplyConfiguration {
+func (b *ForEachMutationApplyConfiguration) WithForEachMutation(value v1.ForEachMutationWrapper) *ForEachMutationApplyConfiguration {
b.ForEachMutation = &value
return b
}
diff --git a/pkg/client/applyconfigurations/kyverno/v1/foreachvalidation.go b/pkg/client/applyconfigurations/kyverno/v1/foreachvalidation.go
index c18cd3240c0b..04bf1f4f8b96 100644
--- a/pkg/client/applyconfigurations/kyverno/v1/foreachvalidation.go
+++ b/pkg/client/applyconfigurations/kyverno/v1/foreachvalidation.go
@@ -19,6 +19,7 @@ limitations under the License.
package v1
import (
+ kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
)
@@ -32,7 +33,7 @@ type ForEachValidationApplyConfiguration struct {
RawPattern *apiextensionsv1.JSON `json:"pattern,omitempty"`
RawAnyPattern *apiextensionsv1.JSON `json:"anyPattern,omitempty"`
Deny *DenyApplyConfiguration `json:"deny,omitempty"`
- ForEachValidation *apiextensionsv1.JSON `json:"foreach,omitempty"`
+ ForEachValidation *kyvernov1.ForEachValidationWrapper `json:"foreach,omitempty"`
}
// ForEachValidationApplyConfiguration constructs an declarative configuration of the ForEachValidation type for use with
@@ -105,7 +106,7 @@ func (b *ForEachValidationApplyConfiguration) WithDeny(value *DenyApplyConfigura
// WithForEachValidation sets the ForEachValidation field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the ForEachValidation field is set to the value of the last call.
-func (b *ForEachValidationApplyConfiguration) WithForEachValidation(value apiextensionsv1.JSON) *ForEachValidationApplyConfiguration {
+func (b *ForEachValidationApplyConfiguration) WithForEachValidation(value kyvernov1.ForEachValidationWrapper) *ForEachValidationApplyConfiguration {
b.ForEachValidation = &value
return b
}
diff --git a/pkg/engine/forceMutate.go b/pkg/engine/forceMutate.go
index e6ca6edd1148..741de18b117c 100644
--- a/pkg/engine/forceMutate.go
+++ b/pkg/engine/forceMutate.go
@@ -1,15 +1,12 @@
package engine
import (
- "fmt"
-
"github.com/go-logr/logr"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
"github.com/kyverno/kyverno/pkg/engine/context"
"github.com/kyverno/kyverno/pkg/engine/internal"
"github.com/kyverno/kyverno/pkg/engine/mutate"
"github.com/kyverno/kyverno/pkg/engine/variables"
- "github.com/kyverno/kyverno/pkg/utils/api"
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
@@ -64,13 +61,9 @@ func ForceMutate(
func applyForEachMutate(name string, foreach []kyvernov1.ForEachMutation, resource unstructured.Unstructured, logger logr.Logger) (patchedResource unstructured.Unstructured, err error) {
patchedResource = resource
for _, fe := range foreach {
- if fe.ForEachMutation != nil {
- nestedForEach, err := api.DeserializeJSONArray[kyvernov1.ForEachMutation](fe.ForEachMutation)
- if err != nil {
- return patchedResource, fmt.Errorf("failed to deserialize foreach: %w", err)
- }
-
- return applyForEachMutate(name, nestedForEach, patchedResource, logger)
+ fem := fe.GetForEachMutation()
+ if len(fem) > 0 {
+ return applyForEachMutate(name, fem, patchedResource, logger)
}
patchedResource, err = applyPatches(fe.GetPatchStrategicMerge(), fe.PatchesJSON6902, patchedResource, logger)
diff --git a/pkg/engine/handlers/mutation/common.go b/pkg/engine/handlers/mutation/common.go
index 4ba5609068ce..5ac473daca07 100644
--- a/pkg/engine/handlers/mutation/common.go
+++ b/pkg/engine/handlers/mutation/common.go
@@ -11,7 +11,6 @@ import (
"github.com/kyverno/kyverno/pkg/engine/internal"
"github.com/kyverno/kyverno/pkg/engine/mutate"
engineutils "github.com/kyverno/kyverno/pkg/engine/utils"
- "github.com/kyverno/kyverno/pkg/utils/api"
datautils "github.com/kyverno/kyverno/pkg/utils/data"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
@@ -110,18 +109,14 @@ func (f *forEachMutator) mutateElements(ctx context.Context, foreach kyvernov1.F
}
var mutateResp *mutate.Response
- if foreach.ForEachMutation != nil {
- nestedForEach, err := api.DeserializeJSONArray[kyvernov1.ForEachMutation](foreach.ForEachMutation)
- if err != nil {
- return mutate.NewErrorResponse("failed to deserialize foreach", err)
- }
-
+ fem := foreach.GetForEachMutation()
+ if len(fem) > 0 {
m := &forEachMutator{
rule: f.rule,
policyContext: f.policyContext,
resource: patchedResource,
logger: f.logger,
- foreach: nestedForEach,
+ foreach: fem,
nesting: f.nesting + 1,
contextLoader: f.contextLoader,
}
diff --git a/pkg/engine/handlers/validation/validate_resource.go b/pkg/engine/handlers/validation/validate_resource.go
index f181fcbc676b..bcb5299c91f8 100644
--- a/pkg/engine/handlers/validation/validate_resource.go
+++ b/pkg/engine/handlers/validation/validate_resource.go
@@ -16,7 +16,6 @@ import (
engineutils "github.com/kyverno/kyverno/pkg/engine/utils"
"github.com/kyverno/kyverno/pkg/engine/validate"
"github.com/kyverno/kyverno/pkg/engine/variables"
- "github.com/kyverno/kyverno/pkg/utils/api"
datautils "github.com/kyverno/kyverno/pkg/utils/data"
stringutils "github.com/kyverno/kyverno/pkg/utils/strings"
"github.com/pkg/errors"
@@ -103,9 +102,12 @@ func newForEachValidator(
if err != nil {
return nil, fmt.Errorf("failed to convert ruleCopy.Validation.ForEachValidation.AnyAllConditions: %w", err)
}
- nestedForEach, err := api.DeserializeJSONArray[kyvernov1.ForEachValidation](foreach.ForEachValidation)
- if err != nil {
- return nil, fmt.Errorf("failed to convert ruleCopy.Validation.ForEachValidation.AnyAllConditions: %w", err)
+ var loopItems []kyvernov1.ForEachValidation
+ fev := foreach.GetForEachValidation()
+ if len(fev) > 0 {
+ loopItems = fev
+ } else {
+ loopItems = make([]kyvernov1.ForEachValidation, 0)
}
return &validator{
log: log,
@@ -117,7 +119,7 @@ func newForEachValidator(
pattern: foreach.GetPattern(),
anyPattern: foreach.GetAnyPattern(),
deny: foreach.Deny,
- forEach: nestedForEach,
+ forEach: loopItems,
nesting: nesting,
}, nil
}
diff --git a/pkg/policy/mutate/validate.go b/pkg/policy/mutate/validate.go
index 320916f19606..4d7f221a29f6 100644
--- a/pkg/policy/mutate/validate.go
+++ b/pkg/policy/mutate/validate.go
@@ -8,10 +8,8 @@ import (
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
"github.com/kyverno/kyverno/pkg/engine/variables/regex"
"github.com/kyverno/kyverno/pkg/policy/auth"
- "github.com/kyverno/kyverno/pkg/utils/api"
kubeutils "github.com/kyverno/kyverno/pkg/utils/kube"
"go.uber.org/multierr"
- v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
)
// Mutate provides implementation to validate 'mutate' rule
@@ -55,12 +53,13 @@ func (m *Mutate) Validate(ctx context.Context) (string, error) {
func (m *Mutate) validateForEach(tag string, foreach []kyvernov1.ForEachMutation) (string, error) {
for i, fe := range foreach {
tag = tag + fmt.Sprintf("foreach[%d]", i)
- if fe.ForEachMutation != nil {
+ fem := fe.GetForEachMutation()
+ if len(fem) > 0 {
if fe.Context != nil || fe.AnyAllConditions != nil || fe.PatchesJSON6902 != "" || fe.RawPatchStrategicMerge != nil {
return tag, fmt.Errorf("a nested foreach cannot contain other declarations")
}
- return m.validateNestedForEach(tag, fe.ForEachMutation)
+ return m.validateNestedForEach(tag, fem)
}
psm := fe.GetPatchStrategicMerge()
@@ -72,13 +71,12 @@ func (m *Mutate) validateForEach(tag string, foreach []kyvernov1.ForEachMutation
return "", nil
}
-func (m *Mutate) validateNestedForEach(tag string, j *v1.JSON) (string, error) {
- nestedForeach, err := api.DeserializeJSONArray[kyvernov1.ForEachMutation](j)
- if err != nil {
- return tag, fmt.Errorf("invalid foreach syntax: %w", err)
+func (m *Mutate) validateNestedForEach(tag string, j []kyvernov1.ForEachMutation) (string, error) {
+ if j != nil {
+ return m.validateForEach(tag, j)
}
- return m.validateForEach(tag, nestedForeach)
+ return "", nil
}
func (m *Mutate) hasForEach() bool {
diff --git a/pkg/policy/validate/validate.go b/pkg/policy/validate/validate.go
index fa0a079fc2dd..49e6282df3d3 100644
--- a/pkg/policy/validate/validate.go
+++ b/pkg/policy/validate/validate.go
@@ -204,7 +204,7 @@ func foreachElemCount(foreach kyvernov1.ForEachValidation) int {
count++
}
- if foreach.ForEachValidation != nil {
+ if foreach.GetForEachValidation() != nil && len(foreach.GetForEachValidation()) > 0 {
count++
}
diff --git a/pkg/utils/api/json.go b/pkg/utils/api/json.go
index 3f3d3f9703ed..9fdc9fa6c7a5 100644
--- a/pkg/utils/api/json.go
+++ b/pkg/utils/api/json.go
@@ -8,22 +8,6 @@ import (
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
)
-// Deserialize "apiextensions.JSON" to a typed array
-func DeserializeJSONArray[T any](in apiextensions.JSON) ([]T, error) {
- if in == nil {
- return nil, nil
- }
- data, err := json.Marshal(in)
- if err != nil {
- return nil, err
- }
- var res []T
- if err := json.Unmarshal(data, &res); err != nil {
- return nil, err
- }
- return res, nil
-}
-
// ApiextensionsJsonToKyvernoConditions takes in user-provided conditions in abstract apiextensions.JSON form
// and converts it into []kyverno.Condition or kyverno.AnyAllConditions according to its content.
// it also helps in validating the condtions as it returns an error when the conditions are provided wrongfully by the user.
diff --git a/pkg/validation/policy/validate.go b/pkg/validation/policy/validate.go
index 359e013e96af..ead41c3d5231 100644
--- a/pkg/validation/policy/validate.go
+++ b/pkg/validation/policy/validate.go
@@ -1002,12 +1002,9 @@ func validateValidationForEach(foreach []kyvernov1.ForEachValidation, schemaKey
}
}
}
- if fe.ForEachValidation != nil {
- nestedForEach, err := apiutils.DeserializeJSONArray[kyvernov1.ForEachValidation](fe.ForEachValidation)
- if err != nil {
- return schemaKey, err
- }
- if path, err := validateValidationForEach(nestedForEach, schemaKey); err != nil {
+ fev := fe.GetForEachValidation()
+ if len(fev) > 0 {
+ if path, err := validateValidationForEach(fev, schemaKey); err != nil {
return fmt.Sprintf("%s.%s", schemaKey, path), err
}
}
@@ -1022,12 +1019,9 @@ func validateMutationForEach(foreach []kyvernov1.ForEachMutation, schemaKey stri
return fmt.Sprintf("%s.%s", schemaKey, path), err
}
}
- if fe.ForEachMutation != nil {
- nestedForEach, err := apiutils.DeserializeJSONArray[kyvernov1.ForEachMutation](fe.ForEachMutation)
- if err != nil {
- return schemaKey, err
- }
- if path, err := validateMutationForEach(nestedForEach, schemaKey); err != nil {
+ fem := fe.GetForEachMutation()
+ if len(fem) > 0 {
+ if path, err := validateMutationForEach(fem, schemaKey); err != nil {
return fmt.Sprintf("%s.%s", schemaKey, path), err
}
}