Improve CEL validation on Ingress CRD resources
This commit is contained in:
parent
740b4cfd25
commit
c166a41c99
21 changed files with 282 additions and 0 deletions
|
@ -33,6 +33,7 @@ type Route struct {
|
|||
Kind string `json:"kind,omitempty"`
|
||||
// Priority defines the router's priority.
|
||||
// More info: https://doc.traefik.io/traefik/v3.3/routing/routers/#priority
|
||||
// +kubebuilder:validation:Maximum=9223372036854774807
|
||||
Priority int `json:"priority,omitempty"`
|
||||
// Syntax defines the router's rule syntax.
|
||||
// More info: https://doc.traefik.io/traefik/v3.3/routing/routers/#rulesyntax
|
||||
|
@ -106,12 +107,14 @@ type LoadBalancerSpec struct {
|
|||
Sticky *dynamic.Sticky `json:"sticky,omitempty"`
|
||||
// Port defines the port of a Kubernetes Service.
|
||||
// This can be a reference to a named port.
|
||||
// +kubebuilder:validation:XIntOrString
|
||||
Port intstr.IntOrString `json:"port,omitempty"`
|
||||
// Scheme defines the scheme to use for the request to the upstream Kubernetes Service.
|
||||
// It defaults to https when Kubernetes Service port is 443, http otherwise.
|
||||
Scheme string `json:"scheme,omitempty"`
|
||||
// Strategy defines the load balancing strategy between the servers.
|
||||
// RoundRobin is the only supported value at the moment.
|
||||
// +kubebuilder:validation:Enum=RoundRobin
|
||||
Strategy string `json:"strategy,omitempty"`
|
||||
// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.
|
||||
// By default, passHostHeader is true.
|
||||
|
@ -124,6 +127,7 @@ type LoadBalancerSpec struct {
|
|||
ServersTransport string `json:"serversTransport,omitempty"`
|
||||
// Weight defines the weight and should only be specified when Name references a TraefikService object
|
||||
// (and to be precise, one that embeds a Weighted Round Robin).
|
||||
// +kubebuilder:validation:Minimum=0
|
||||
Weight *int `json:"weight,omitempty"`
|
||||
// NativeLB controls, when creating the load-balancer,
|
||||
// whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue