You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Raised by CodeRabbit on platform#2718. Kyverno has deprecated the top-level spec.validationFailureAction (and spec.validationFailureActionOverrides) in favour of the per-rule spec.rules[].validate.failureAction.
All 9 ClusterPolicies under k8s/bases/infrastructure/cluster-policies/best-practices/ use the deprecated top-level form, including restrict-tenant-issuer-refs.yaml, which merged to main recently. Zero use the current form.
Problem and audience
Nothing is broken today — the field still works on the pinned engine (1.18.2 in both ci.yaml's action-install-cli and the kyverno HelmRelease). The exposure is a future Kyverno bump: if the field is removed rather than merely warned on, every policy in the repo stops enforcing at once, and the failure mode is the one this repo has already been bitten by — an Enforce policy that silently protects nothing rather than a loud error.
Deliberately not fixed in platform#2718: converting one policy of nine would leave the directory inconsistent for no safety gain, and the migration wants to move together with a version bump.
Expected behaviour
All nine policies use the current per-rule validate.failureAction, migrated in one change alongside (or ahead of) the next Kyverno bump.
Acceptance criteria
All nine policies converted; no spec.validationFailureAction remains under cluster-policies/.
Evidence
Raised by CodeRabbit on platform#2718. Kyverno has deprecated the top-level
spec.validationFailureAction(andspec.validationFailureActionOverrides) in favour of the per-rulespec.rules[].validate.failureAction.All 9 ClusterPolicies under
k8s/bases/infrastructure/cluster-policies/best-practices/use the deprecated top-level form, includingrestrict-tenant-issuer-refs.yaml, which merged tomainrecently. Zero use the current form.Problem and audience
Nothing is broken today — the field still works on the pinned engine (1.18.2 in both
ci.yaml'saction-install-cliand the kyverno HelmRelease). The exposure is a future Kyverno bump: if the field is removed rather than merely warned on, every policy in the repo stops enforcing at once, and the failure mode is the one this repo has already been bitten by — anEnforcepolicy that silently protects nothing rather than a loud error.Deliberately not fixed in platform#2718: converting one policy of nine would leave the directory inconsistent for no safety gain, and the migration wants to move together with a version bump.
Expected behaviour
All nine policies use the current per-rule
validate.failureAction, migrated in one change alongside (or ahead of) the next Kyverno bump.Acceptance criteria
spec.validationFailureActionremains undercluster-policies/.kyverno test ./testsfixtures still pass, with every asserted row reportingREASON=Ok(see kyverno test cannot fail for a policy that matches nothing — Excluded rows satisfy any expectation #3145 — the suite currently cannot fail for a policy that matches nothing, so the row reasons are the real check here).ci.yaml's pinned CLI and the HelmRelease together, per the comment inci.yaml.Size
Small but wide — nine mechanical edits plus one verification pass.