diff --git a/api/v1alpha1/backend_types.go b/api/v1alpha1/backend_types.go index 563bb5d2019..6afbcf9d182 100644 --- a/api/v1alpha1/backend_types.go +++ b/api/v1alpha1/backend_types.go @@ -116,7 +116,7 @@ type BackendSpec struct { // Endpoints defines the endpoints to be used when connecting to the backend. // // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=4 + // +kubebuilder:validation:MaxItems=64 // +kubebuilder:validation:XValidation:rule="self.all(f, has(f.fqdn)) || !self.exists(f, has(f.fqdn))",message="fqdn addresses cannot be mixed with other address types" Endpoints []BackendEndpoint `json:"endpoints,omitempty"` diff --git a/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backends.yaml b/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backends.yaml index 7d0da8385be..9dd148bf42b 100644 --- a/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backends.yaml +++ b/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_backends.yaml @@ -132,7 +132,7 @@ spec: rule: ((has(self.fqdn) && !(has(self.ip) || has(self.unix))) || (has(self.ip) && !(has(self.fqdn) || has(self.unix))) || (has(self.unix) && !(has(self.ip) || has(self.fqdn)))) - maxItems: 4 + maxItems: 64 minItems: 1 type: array x-kubernetes-validations: diff --git a/test/cel-validation/backend_test.go b/test/cel-validation/backend_test.go index a46a2d4078a..069a9f74f78 100644 --- a/test/cel-validation/backend_test.go +++ b/test/cel-validation/backend_test.go @@ -75,6 +75,12 @@ func TestBackend(t *testing.T) { Port: 443, }, }, + { + FQDN: &egv1a1.FQDNEndpoint{ + Hostname: "sub1.sub.sub.example.com", + Port: 443, + }, + }, }, } },