From 137c2d122ea5a8356201efc6b8f17cceab29a650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charles-Edouard=20Br=C3=A9t=C3=A9ch=C3=A9?= Date: Thu, 19 Sep 2024 00:22:47 +0200 Subject: [PATCH] fix: engine api (#486) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Charles-Edouard Brétéché --- pkg/apis/policy/v1alpha1/assertion.go | 1 + pkg/apis/policy/v1alpha1/engine.go | 1 + pkg/apis/policy/v1alpha1/validating_policy_spec.go | 1 + pkg/apis/policy/v1alpha1/validating_rule.go | 1 + website/docs/apis/kyverno-json.v1alpha1.md | 9 ++++++--- 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/apis/policy/v1alpha1/assertion.go b/pkg/apis/policy/v1alpha1/assertion.go index fc3fb097..51b7c122 100644 --- a/pkg/apis/policy/v1alpha1/assertion.go +++ b/pkg/apis/policy/v1alpha1/assertion.go @@ -7,6 +7,7 @@ type Assertion struct { Message string `json:"message,omitempty"` // Engine defines the default engine to use when evaluating expressions. + // +optional Engine *Engine `json:"engine,omitempty"` // Check is the assertion check definition. diff --git a/pkg/apis/policy/v1alpha1/engine.go b/pkg/apis/policy/v1alpha1/engine.go index d97c766d..2a4e1270 100644 --- a/pkg/apis/policy/v1alpha1/engine.go +++ b/pkg/apis/policy/v1alpha1/engine.go @@ -1,5 +1,6 @@ package v1alpha1 +// Engine defines the engine to use when evaluating expressions. // +kubebuilder:validation:Enum:=jp;cel type Engine string diff --git a/pkg/apis/policy/v1alpha1/validating_policy_spec.go b/pkg/apis/policy/v1alpha1/validating_policy_spec.go index 9d049743..038ec210 100644 --- a/pkg/apis/policy/v1alpha1/validating_policy_spec.go +++ b/pkg/apis/policy/v1alpha1/validating_policy_spec.go @@ -3,6 +3,7 @@ package v1alpha1 // ValidatingPolicySpec contains the policy spec. type ValidatingPolicySpec struct { // Engine defines the default engine to use when evaluating expressions. + // +optional Engine *Engine `json:"engine,omitempty"` // Rules is a list of ValidatingRule instances. diff --git a/pkg/apis/policy/v1alpha1/validating_rule.go b/pkg/apis/policy/v1alpha1/validating_rule.go index afd91f96..851c6ab2 100644 --- a/pkg/apis/policy/v1alpha1/validating_rule.go +++ b/pkg/apis/policy/v1alpha1/validating_rule.go @@ -7,6 +7,7 @@ type ValidatingRule struct { Name string `json:"name"` // Engine defines the default engine to use when evaluating expressions. + // +optional Engine *Engine `json:"engine,omitempty"` // Context defines variables and data sources that can be used during rule execution. diff --git a/website/docs/apis/kyverno-json.v1alpha1.md b/website/docs/apis/kyverno-json.v1alpha1.md index 1f331eab..6ceacba8 100644 --- a/website/docs/apis/kyverno-json.v1alpha1.md +++ b/website/docs/apis/kyverno-json.v1alpha1.md @@ -79,7 +79,7 @@ auto_generated: true | Field | Type | Required | Inline | Description | |---|---|---|---|---| | `message` | `string` | | |

Message is the message associated message.

| -| `engine` | [`Engine`](#json-kyverno-io-v1alpha1-Engine) | :white_check_mark: | |

Engine defines the default engine to use when evaluating expressions.

| +| `engine` | [`Engine`](#json-kyverno-io-v1alpha1-Engine) | | |

Engine defines the default engine to use when evaluating expressions.

| | `check` | [`AssertionTree`](#json-kyverno-io-v1alpha1-AssertionTree) | :white_check_mark: | |

Check is the assertion check definition.

| ## `AssertionTree` {#json-kyverno-io-v1alpha1-AssertionTree} @@ -119,6 +119,9 @@ auto_generated: true - [ValidatingPolicySpec](#json-kyverno-io-v1alpha1-ValidatingPolicySpec) - [ValidatingRule](#json-kyverno-io-v1alpha1-ValidatingRule) +

Engine defines the engine to use when evaluating expressions.

+ + ## `Feedback` {#json-kyverno-io-v1alpha1-Feedback} **Appears in:** @@ -158,7 +161,7 @@ auto_generated: true | Field | Type | Required | Inline | Description | |---|---|---|---|---| -| `engine` | [`Engine`](#json-kyverno-io-v1alpha1-Engine) | :white_check_mark: | |

Engine defines the default engine to use when evaluating expressions.

| +| `engine` | [`Engine`](#json-kyverno-io-v1alpha1-Engine) | | |

Engine defines the default engine to use when evaluating expressions.

| | `rules` | [`[]ValidatingRule`](#json-kyverno-io-v1alpha1-ValidatingRule) | :white_check_mark: | |

Rules is a list of ValidatingRule instances.

| ## `ValidatingRule` {#json-kyverno-io-v1alpha1-ValidatingRule} @@ -173,7 +176,7 @@ auto_generated: true | Field | Type | Required | Inline | Description | |---|---|---|---|---| | `name` | `string` | :white_check_mark: | |

Name is a label to identify the rule, It must be unique within the policy.

| -| `engine` | [`Engine`](#json-kyverno-io-v1alpha1-Engine) | :white_check_mark: | |

Engine defines the default engine to use when evaluating expressions.

| +| `engine` | [`Engine`](#json-kyverno-io-v1alpha1-Engine) | | |

Engine defines the default engine to use when evaluating expressions.

| | `context` | [`[]ContextEntry`](#json-kyverno-io-v1alpha1-ContextEntry) | | |

Context defines variables and data sources that can be used during rule execution.

| | `match` | [`Match`](#json-kyverno-io-v1alpha1-Match) | | |

Match defines when this policy rule should be applied.

| | `exclude` | [`Match`](#json-kyverno-io-v1alpha1-Match) | | |

Exclude defines when this policy rule should not be applied.

|