Skip to content

Commit 5876f59

Browse files
committed
Adjust TargetRefs group validation and add MinItems validation
1 parent 9f8251b commit 5876f59

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

apis/v1alpha1/observabilitypolicy_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ type ObservabilityPolicySpec struct {
4747
// Objects must be in the same namespace as the policy.
4848
// Support: HTTPRoute, GRPCRoute.
4949
//
50+
// +kubebuilder:validation:MinItems=1
5051
// +kubebuilder:validation:MaxItems=16
5152
// +kubebuilder:validation:XValidation:message="TargetRef Kind must be: HTTPRoute or GRPCRoute",rule="(self.exists(t, t.kind=='HTTPRoute') || self.exists(t, t.kind=='GRPCRoute'))"
5253
// +kubebuilder:validation:XValidation:message="TargetRef Group must be gateway.networking.k8s.io.",rule="self.all(t, t.group=='gateway.networking.k8s.io')"

apis/v1alpha1/upstreamsettingspolicy_types.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ type UpstreamSettingsPolicySpec struct {
5656
// Support: Service
5757
//
5858
// +kubebuilder:validation:MaxItems=16
59-
// +kubebuilder:validation:XValidation:message="TargetRefs Kind must be: Service",rule="self.exists(t, t.kind=='Service')"
60-
// +kubebuilder:validation:XValidation:message="TargetRefs Group must be gateway.networking.k8s.io.",rule="self.all(t, t.group=='gateway.networking.k8s.io')"
59+
// +kubebuilder:validation:XValidation:message="TargetRefs Kind must be: Service",rule="self.all(t, t.kind=='Service')"
60+
// +kubebuilder:validation:XValidation:message="TargetRefs Group must be core.",rule="self.exists(t, t.group=='') || self.exists(t, t.group=='core')"
6161
//nolint:lll
6262
TargetRefs []gatewayv1alpha2.LocalPolicyTargetReference `json:"targetRefs"`
6363
}

config/crd/bases/gateway.nginx.org_upstreamsettingspolicies.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ spec:
123123
type: array
124124
x-kubernetes-validations:
125125
- message: 'TargetRefs Kind must be: Service'
126-
rule: self.exists(t, t.kind=='Service')
127-
- message: TargetRefs Group must be gateway.networking.k8s.io.
128-
rule: self.all(t, t.group=='gateway.networking.k8s.io')
126+
rule: self.all(t, t.kind=='Service')
127+
- message: TargetRefs Group must be core.
128+
rule: self.exists(t, t.group=='') || self.exists(t, t.group=='core')
129129
zoneSize:
130130
description: |-
131131
ZoneSize is the size of the shared memory zone used by the upstream. This memory zone is used to share

0 commit comments

Comments
 (0)