Documentation ¶
Index ¶
- Constants
- Variables
- type AccessLog
- type ActiveHealthCheck
- type AddHeader
- type AppProtocol
- type BackOffPolicy
- type BackendWeights
- type BasicAuth
- type CIDRMatch
- type CORS
- type CircuitBreaker
- type ClientTimeout
- type ConsistentHash
- type DestinationAddressType
- type DestinationEndpoint
- type DestinationSetting
- type DirectResponse
- type ExtAuth
- type FaultInjection
- type FaultInjectionAbort
- type FaultInjectionDelay
- type GRPCExtAuthService
- type GlobalRateLimit
- type HTTP10Settings
- type HTTP1Settings
- type HTTP3Settings
- type HTTPClientTimeout
- type HTTPExtAuthService
- type HTTPHealthChecker
- type HTTPListener
- type HTTPPathModifier
- type HTTPRoute
- type HTTPStatus
- type HTTPTimeout
- type HeaderSettings
- type HealthCheck
- type HealthCheckPayload
- type Infra
- type InfraMetadata
- type JSONAccessLog
- type JSONPatchConfig
- type JSONPatchOperation
- type LeastRequest
- type ListenerPort
- type LoadBalancer
- type LocalRateLimit
- type Metrics
- type OIDC
- type OIDCProvider
- type OpenTelemetryAccessLog
- type OutlierDetection
- type PathSettings
- type PerRetryPolicy
- type ProtocolType
- type ProxyInfra
- func (in *ProxyInfra) DeepCopy() *ProxyInfra
- func (in *ProxyInfra) DeepCopyInto(out *ProxyInfra)
- func (p *ProxyInfra) Equal(y *ProxyInfra) bool
- func (p *ProxyInfra) GetProxyConfig() *v1alpha1.EnvoyProxy
- func (p *ProxyInfra) GetProxyMetadata() *InfraMetadata
- func (p *ProxyInfra) ObjectName() string
- func (p *ProxyInfra) Validate() error
- type ProxyListener
- type ProxyProtocol
- type ProxyProtocolVersion
- type Random
- type RateLimit
- type RateLimitRule
- type RateLimitValue
- type Redirect
- type Retry
- type RetryOn
- type RoundRobin
- type RouteDestination
- type SlowStart
- type StringMatch
- type TCPHealthChecker
- type TCPKeepalive
- type TCPListener
- type TCPTimeout
- type TLS
- type TLSCACertificate
- type TLSCertificate
- type TLSConfig
- type TLSInspectorConfig
- type TLSUpstreamConfig
- type TLSVersion
- type TextAccessLog
- type Timeout
- type Tracing
- type TriggerEnum
- type UDPListener
- type URLRewrite
- type UnstructuredRef
- type Xds
- func (in *Xds) DeepCopy() *Xds
- func (in *Xds) DeepCopyInto(out *Xds)
- func (x *Xds) Equal(y *Xds) bool
- func (x Xds) GetHTTPListener(name string) *HTTPListener
- func (x Xds) GetTCPListener(name string) *TCPListener
- func (x Xds) GetUDPListener(name string) *UDPListener
- func (x Xds) Printable() *Xds
- func (x Xds) Validate() error
- func (x Xds) YAMLString() string
Constants ¶
const ( // TLSAuto allows Envoy to choose the optimal TLS Version TLSAuto = TLSVersion(types.TLSAuto) // TLSv10 specifies TLS version 1.0 TLSv10 = TLSVersion(types.TLSv10) // TLSv11 specifies TLS version 1.1 TLSv11 = TLSVersion(types.TLSv11) // TLSv12 specifies TLS version 1.2 TLSv12 = TLSVersion(types.TLSv12) // TLSv13 specifies TLS version 1.3 TLSv13 = TLSVersion(types.TLSv13) )
const ( Error5XX = TriggerEnum(egv1a1.Error5XX) GatewayError = TriggerEnum(egv1a1.GatewayError) Reset = TriggerEnum(egv1a1.Reset) ConnectFailure = TriggerEnum(egv1a1.ConnectFailure) Retriable4XX = TriggerEnum(egv1a1.Retriable4XX) RefusedStream = TriggerEnum(egv1a1.RefusedStream) RetriableStatusCodes = TriggerEnum(egv1a1.RetriableStatusCodes) Cancelled = TriggerEnum(egv1a1.Cancelled) DeadlineExceeded = TriggerEnum(egv1a1.DeadlineExceeded) Internal = TriggerEnum(egv1a1.Internal) ResourceExhausted = TriggerEnum(egv1a1.ResourceExhausted) )
const (
DefaultProxyName = "default"
)
Variables ¶
var ( ErrListenerNameEmpty = errors.New("field Name must be specified") ErrListenerAddressInvalid = errors.New("field Address must be a valid IP address") ErrListenerPortInvalid = errors.New("field Port specified is invalid") ErrHTTPListenerHostnamesEmpty = errors.New("field Hostnames must be specified with at least a single hostname entry") ErrTCPListenerSNIsEmpty = errors.New("field SNIs must be specified with at least a single server name entry") ErrTLSServerCertEmpty = errors.New("field ServerCertificate must be specified") ErrTLSPrivateKey = errors.New("field PrivateKey must be specified") ErrHTTPRouteNameEmpty = errors.New("field Name must be specified") ErrHTTPRouteHostnameEmpty = errors.New("field Hostname must be specified") ErrDestinationNameEmpty = errors.New("field Name must be specified") ErrDestEndpointHostInvalid = errors.New("field Address must be a valid IP or FQDN address") ErrDestEndpointPortInvalid = errors.New("field Port specified is invalid") ErrStringMatchConditionInvalid = errors.New("only one of the Exact, Prefix, SafeRegex or Distinct fields must be set") ErrStringMatchNameIsEmpty = errors.New("field Name must be specified") ErrDirectResponseStatusInvalid = errors.New("only HTTP status codes 100 - 599 are supported for DirectResponse") ErrRedirectUnsupportedStatus = errors.New("only HTTP status codes 301 and 302 are supported for redirect filters") ErrRedirectUnsupportedScheme = errors.New("only http and https are supported for the scheme in redirect filters") ErrHTTPPathModifierDoubleReplace = errors.New("redirect filter cannot have a path modifier that supplies both fullPathReplace and prefixMatchReplace") ErrHTTPPathModifierNoReplace = errors.New("redirect filter cannot have a path modifier that does not supply either fullPathReplace or prefixMatchReplace") ErrAddHeaderEmptyName = errors.New("header modifier filter cannot configure a header without a name to be added") ErrAddHeaderDuplicate = errors.New("header modifier filter attempts to add the same header more than once (case insensitive)") ErrRemoveHeaderDuplicate = errors.New("header modifier filter attempts to remove the same header more than once (case insensitive)") ErrLoadBalancerInvalid = errors.New("loadBalancer setting is invalid, only one setting can be set") ErrHealthCheckTimeoutInvalid = errors.New("field HealthCheck.Timeout must be specified") ErrHealthCheckIntervalInvalid = errors.New("field HealthCheck.Interval must be specified") ErrHealthCheckUnhealthyThresholdInvalid = errors.New("field HealthCheck.UnhealthyThreshold should be greater than 0") ErrHealthCheckHealthyThresholdInvalid = errors.New("field HealthCheck.HealthyThreshold should be greater than 0") ErrHealthCheckerInvalid = errors.New("health checker setting is invalid, only one health checker can be set") ErrHCHTTPHostInvalid = errors.New("field HTTPHealthChecker.Host should be specified") ErrHCHTTPPathInvalid = errors.New("field HTTPHealthChecker.Path should be specified") ErrHCHTTPMethodInvalid = errors.New("only one of the GET, HEAD, POST, DELETE, OPTIONS, TRACE, PATCH of HTTPHealthChecker.Method could be set") ErrHCHTTPExpectedStatusesInvalid = errors.New("field HTTPHealthChecker.ExpectedStatuses should be specified") ErrHealthCheckPayloadInvalid = errors.New("one of Text, Binary fields must be set in payload") ErrHTTPStatusInvalid = errors.New("HTTPStatus should be in [200,600)") ErrOutlierDetectionBaseEjectionTimeInvalid = errors.New("field OutlierDetection.BaseEjectionTime must be specified") ErrOutlierDetectionIntervalInvalid = errors.New("field OutlierDetection.Interval must be specified") )
Functions ¶
This section is empty.
Types ¶
type AccessLog ¶
type AccessLog struct { Text []*TextAccessLog `json:"text,omitempty" yaml:"text,omitempty"` JSON []*JSONAccessLog `json:"json,omitempty" yaml:"json,omitempty"` OpenTelemetry []*OpenTelemetryAccessLog `json:"openTelemetry,omitempty" yaml:"openTelemetry,omitempty"` }
AccessLog holds the access logging configuration. +k8s:deepcopy-gen=true
func (*AccessLog) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLog.
func (*AccessLog) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ActiveHealthCheck ¶
type ActiveHealthCheck struct { // Timeout defines the time to wait for a health check response. Timeout *metav1.Duration `json:"timeout"` // Interval defines the time between active health checks. Interval *metav1.Duration `json:"interval"` // UnhealthyThreshold defines the number of unhealthy health checks required before a backend host is marked unhealthy. UnhealthyThreshold *uint32 `json:"unhealthyThreshold"` // HealthyThreshold defines the number of healthy health checks required before a backend host is marked healthy. HealthyThreshold *uint32 `json:"healthyThreshold"` // HTTP defines the configuration of http health checker. HTTP *HTTPHealthChecker `json:"http,omitempty" yaml:"http,omitempty"` // TCP defines the configuration of tcp health checker. TCP *TCPHealthChecker `json:"tcp,omitempty" yaml:"tcp,omitempty"` }
ActiveHealthCheck defines active health check settings +k8s:deepcopy-gen=true
func (*ActiveHealthCheck) DeepCopy ¶
func (in *ActiveHealthCheck) DeepCopy() *ActiveHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveHealthCheck.
func (*ActiveHealthCheck) DeepCopyInto ¶
func (in *ActiveHealthCheck) DeepCopyInto(out *ActiveHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddHeader ¶
type AddHeader struct { Name string `json:"name" yaml:"name"` Value string `json:"value" yaml:"value"` Append bool `json:"append" yaml:"append"` }
AddHeader configures a header to be added to a request or response. +k8s:deepcopy-gen=true
func (*AddHeader) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddHeader.
func (*AddHeader) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppProtocol ¶
type AppProtocol string
const ( // GRPC declares that the port carries gRPC traffic. GRPC AppProtocol = "GRPC" // GRPCWeb declares that the port carries gRPC traffic. GRPCWeb AppProtocol = "GRPC-Web" // HTTP declares that the port carries HTTP/1.1 traffic. // Note that HTTP/1.0 or earlier may not be supported by the proxy. HTTP AppProtocol = "HTTP" // HTTP2 declares that the port carries HTTP/2 traffic. HTTP2 AppProtocol = "HTTP2" // HTTPS declares that the port carries HTTPS traffic. HTTPS AppProtocol = "HTTPS" // TCP declares the port uses TCP. // This is the default protocol for a service port. TCP AppProtocol = "TCP" // UDP declares that the port uses UDP. UDP AppProtocol = "UDP" )
type BackOffPolicy ¶
type BackOffPolicy struct { // BaseInterval is the base interval between retries. BaseInterval *metav1.Duration `json:"baseInterval,omitempty"` // MaxInterval is the maximum interval between retries. MaxInterval *metav1.Duration `json:"maxInterval,omitempty"` }
+k8s:deepcopy-gen=true
func (*BackOffPolicy) DeepCopy ¶
func (in *BackOffPolicy) DeepCopy() *BackOffPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackOffPolicy.
func (*BackOffPolicy) DeepCopyInto ¶
func (in *BackOffPolicy) DeepCopyInto(out *BackOffPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendWeights ¶
type BackendWeights struct { Valid uint32 `json:"valid" yaml:"valid"` Invalid uint32 `json:"invalid" yaml:"invalid"` }
BackendWeights stores the weights of valid and invalid backends for the route so that 500 error responses can be returned in the same proportions
func (*BackendWeights) DeepCopy ¶
func (in *BackendWeights) DeepCopy() *BackendWeights
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendWeights.
func (*BackendWeights) DeepCopyInto ¶
func (in *BackendWeights) DeepCopyInto(out *BackendWeights)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BasicAuth ¶
type BasicAuth struct { // The username-password pairs in htpasswd format. Users []byte `json:"users,omitempty" yaml:"users,omitempty"` }
BasicAuth defines the schema for the HTTP Basic Authentication.
+k8s:deepcopy-gen=true
func (*BasicAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.
func (*BasicAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CIDRMatch ¶
type CIDRMatch struct { CIDR string `json:"cidr" yaml:"cidr"` IPv6 bool `json:"ipv6" yaml:"ipv6"` MaskLen int `json:"maskLen" yaml:"maskLen"` // Distinct means that each IP Address within the specified Source IP CIDR is treated as a distinct client selector // and uses a separate rate limit bucket/counter. Distinct bool `json:"distinct" yaml:"distinct"` }
type CORS ¶
type CORS struct { // AllowOrigins defines the origins that are allowed to make requests. AllowOrigins []*StringMatch `json:"allowOrigins,omitempty" yaml:"allowOrigins,omitempty"` // AllowMethods defines the methods that are allowed to make requests. AllowMethods []string `json:"allowMethods,omitempty" yaml:"allowMethods,omitempty"` // AllowHeaders defines the headers that are allowed to be sent with requests. AllowHeaders []string `json:"allowHeaders,omitempty" yaml:"allowHeaders,omitempty"` // ExposeHeaders defines the headers that can be exposed in the responses. ExposeHeaders []string `json:"exposeHeaders,omitempty" yaml:"exposeHeaders,omitempty"` // MaxAge defines how long the results of a preflight request can be cached. MaxAge *metav1.Duration `json:"maxAge,omitempty" yaml:"maxAge,omitempty"` // AllowCredentials indicates whether a request can include user credentials. AllowCredentials bool `json:"allowCredentials,omitempty" yaml:"allowCredentials,omitempty"` }
CORS holds the Cross-Origin Resource Sharing (CORS) policy for the route.
+k8s:deepcopy-gen=true
func (*CORS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CORS.
func (*CORS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreaker ¶
type CircuitBreaker struct { // The maximum number of connections that Envoy will establish. MaxConnections *uint32 `json:"maxConnections,omitempty" yaml:"maxConnections,omitempty"` // The maximum number of pending requests that Envoy will queue. MaxPendingRequests *uint32 `json:"maxPendingRequests,omitempty" yaml:"maxPendingRequests,omitempty"` // The maximum number of parallel requests that Envoy will make. MaxParallelRequests *uint32 `json:"maxParallelRequests,omitempty" yaml:"maxParallelRequests,omitempty"` // The maximum number of parallel requests that Envoy will make. MaxRequestsPerConnection *uint32 `json:"maxRequestsPerConnection,omitempty" yaml:"maxRequestsPerConnection,omitempty"` // The maximum number of parallel retries that Envoy will make. MaxParallelRetries *uint32 `json:"maxParallelRetries,omitempty" yaml:"maxParallelRetries,omitempty"` }
Backend CircuitBreaker settings for the DEFAULT routing priority +k8s:deepcopy-gen=true
func (*CircuitBreaker) DeepCopy ¶
func (in *CircuitBreaker) DeepCopy() *CircuitBreaker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreaker.
func (*CircuitBreaker) DeepCopyInto ¶
func (in *CircuitBreaker) DeepCopyInto(out *CircuitBreaker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientTimeout ¶
type ClientTimeout struct { // Timeout settings for HTTP. HTTP *HTTPClientTimeout `json:"http,omitempty" yaml:"http,omitempty"` }
ClientTimeout sets the timeout configuration for downstream connections +k8s:deepcopy-gen=true
func (*ClientTimeout) DeepCopy ¶
func (in *ClientTimeout) DeepCopy() *ClientTimeout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientTimeout.
func (*ClientTimeout) DeepCopyInto ¶
func (in *ClientTimeout) DeepCopyInto(out *ClientTimeout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConsistentHash ¶
type ConsistentHash struct { // Hash based on the Source IP Address SourceIP *bool `json:"sourceIP,omitempty" yaml:"sourceIP,omitempty"` }
ConsistentHash load balancer settings +k8s:deepcopy-gen=true
func (*ConsistentHash) DeepCopy ¶
func (in *ConsistentHash) DeepCopy() *ConsistentHash
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHash.
func (*ConsistentHash) DeepCopyInto ¶
func (in *ConsistentHash) DeepCopyInto(out *ConsistentHash)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DestinationAddressType ¶
type DestinationAddressType string
DestinationAddressType describes the address type state for a group of DestinationEndpoint
const ( IP DestinationAddressType = "IP" FQDN DestinationAddressType = "FQDN" MIXED DestinationAddressType = "Mixed" )
type DestinationEndpoint ¶
type DestinationEndpoint struct { // Host refers to the FQDN or IP address of the backend service. Host string `json:"host" yaml:"host"` // Port on the service to forward the request to. Port uint32 `json:"port" yaml:"port"` }
DestinationEndpoint holds the endpoint details associated with the destination +kubebuilder:object:generate=true
func NewDestEndpoint ¶
func NewDestEndpoint(host string, port uint32) *DestinationEndpoint
NewDestEndpoint creates a new DestinationEndpoint.
func (*DestinationEndpoint) DeepCopy ¶
func (in *DestinationEndpoint) DeepCopy() *DestinationEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationEndpoint.
func (*DestinationEndpoint) DeepCopyInto ¶
func (in *DestinationEndpoint) DeepCopyInto(out *DestinationEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DestinationEndpoint) Validate ¶
func (d DestinationEndpoint) Validate() error
Validate the fields within the DestinationEndpoint structure
type DestinationSetting ¶
type DestinationSetting struct { // Weight associated with this destination. // Note: Weight is not used in TCP/UDP route. Weight *uint32 `json:"weight,omitempty" yaml:"weight,omitempty"` // Protocol associated with this destination/port. Protocol AppProtocol `json:"protocol" yaml:"protocol"` Endpoints []*DestinationEndpoint `json:"endpoints,omitempty" yaml:"endpoints,omitempty"` // AddressTypeState specifies the state of DestinationEndpoint address type. AddressType *DestinationAddressType `json:"addressType,omitempty" yaml:"addressType,omitempty"` TLS *TLSUpstreamConfig `json:"tls,omitempty" yaml:"tls,omitempty"` }
DestinationSetting holds the settings associated with the destination +kubebuilder:object:generate=true
func (*DestinationSetting) DeepCopy ¶
func (in *DestinationSetting) DeepCopy() *DestinationSetting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationSetting.
func (*DestinationSetting) DeepCopyInto ¶
func (in *DestinationSetting) DeepCopyInto(out *DestinationSetting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DestinationSetting) Validate ¶
func (d DestinationSetting) Validate() error
Validate the fields within the RouteDestination structure
type DirectResponse ¶
type DirectResponse struct { // Body configures the body of the direct response. Currently only a string response // is supported, but in the future a config.core.v3.DataSource may replace it. Body *string `json:"body,omitempty" yaml:"body,omitempty"` // StatusCode will be used for the direct response's status code. StatusCode uint32 `json:"statusCode" yaml:"statusCode"` }
DirectResponse holds the details for returning a body and status code for a route. +k8s:deepcopy-gen=true
func (*DirectResponse) DeepCopy ¶
func (in *DirectResponse) DeepCopy() *DirectResponse
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponse.
func (*DirectResponse) DeepCopyInto ¶
func (in *DirectResponse) DeepCopyInto(out *DirectResponse)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DirectResponse) Validate ¶
func (r DirectResponse) Validate() error
Validate the fields within the DirectResponse structure
type ExtAuth ¶
type ExtAuth struct { // Name is a unique name for an ExtAuth configuration. // The xds translator only generates one external authorization filter for each unique name. Name string `json:"name" yaml:"name"` // GRPC defines the gRPC External Authorization service. // Only one of GRPCService or HTTPService may be specified. GRPC *GRPCExtAuthService `json:"grpc,omitempty"` // HTTP defines the HTTP External Authorization service. // Only one of GRPCService or HTTPService may be specified. HTTP *HTTPExtAuthService `json:"http,omitempty"` // HeadersToExtAuth defines the client request headers that will be included // in the request to the external authorization service. // Note: If not specified, the default behavior for gRPC and HTTP external // authorization services is different due to backward compatibility reasons. // All headers will be included in the check request to a gRPC authorization server. // Only the following headers will be included in the check request to an HTTP // authorization server: Host, Method, Path, Content-Length, and Authorization. // And these headers will always be included to the check request to an HTTP // authorization server by default, no matter whether they are specified // in HeadersToExtAuth or not. // +optional HeadersToExtAuth []string `json:"headersToExtAuth,omitempty"` UseBootstrapCluster *bool `json:"useBootstrapCluster,omitempty"` }
ExtAuth defines the schema for the external authorization.
+k8s:deepcopy-gen=true
func (*ExtAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtAuth.
func (*ExtAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjection ¶
type FaultInjection struct { // Delay defines the fault injection delay. Delay *FaultInjectionDelay `json:"delay,omitempty" yaml:"delay,omitempty"` // Abort defines the fault injection abort. Abort *FaultInjectionAbort `json:"abort,omitempty" yaml:"abort,omitempty"` }
FaultInjection defines the schema for injecting faults into requests.
+k8s:deepcopy-gen=true
func (*FaultInjection) DeepCopy ¶
func (in *FaultInjection) DeepCopy() *FaultInjection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjection.
func (*FaultInjection) DeepCopyInto ¶
func (in *FaultInjection) DeepCopyInto(out *FaultInjection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionAbort ¶
type FaultInjectionAbort struct { // HTTPStatus defines the HTTP status code to be returned. HTTPStatus *int32 `json:"httpStatus,omitempty" yaml:"httpStatus,omitempty"` // GrpcStatus defines the gRPC status code to be returned. GrpcStatus *int32 `json:"grpcStatus,omitempty" yaml:"grpcStatus,omitempty"` // Percentage defines the percentage of requests to be aborted. Percentage *float32 `json:"percentage,omitempty" yaml:"percentage,omitempty"` }
FaultInjectionAbort defines the schema for injecting abort into requests.
+k8s:deepcopy-gen=true
func (*FaultInjectionAbort) DeepCopy ¶
func (in *FaultInjectionAbort) DeepCopy() *FaultInjectionAbort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionAbort.
func (*FaultInjectionAbort) DeepCopyInto ¶
func (in *FaultInjectionAbort) DeepCopyInto(out *FaultInjectionAbort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionDelay ¶
type FaultInjectionDelay struct { // FixedDelay defines the fixed delay duration. FixedDelay *metav1.Duration `json:"fixedDelay,omitempty" yaml:"fixedDelay,omitempty"` // Percentage defines the percentage of requests to be delayed. Percentage *float32 `json:"percentage,omitempty" yaml:"percentage,omitempty"` }
FaultInjectionDelay defines the schema for injecting delay into requests.
+k8s:deepcopy-gen=true
func (*FaultInjectionDelay) DeepCopy ¶
func (in *FaultInjectionDelay) DeepCopy() *FaultInjectionDelay
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionDelay.
func (*FaultInjectionDelay) DeepCopyInto ¶
func (in *FaultInjectionDelay) DeepCopyInto(out *FaultInjectionDelay)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCExtAuthService ¶
type GRPCExtAuthService struct { // Destination defines the destination for the gRPC External Authorization service. Destination RouteDestination `json:"destination"` // Authority is the hostname:port of the gRPC External Authorization service. Authority string `json:"authority"` }
GRPCExtAuthService defines the gRPC External Authorization service The authorization request message is defined in https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/external_auth.proto +k8s:deepcopy-gen=true
func (*GRPCExtAuthService) DeepCopy ¶
func (in *GRPCExtAuthService) DeepCopy() *GRPCExtAuthService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCExtAuthService.
func (*GRPCExtAuthService) DeepCopyInto ¶
func (in *GRPCExtAuthService) DeepCopyInto(out *GRPCExtAuthService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalRateLimit ¶
type GlobalRateLimit struct { // Rules for rate limiting. Rules []*RateLimitRule `json:"rules,omitempty" yaml:"rules,omitempty"` }
GlobalRateLimit holds the global rate limiting configuration. +k8s:deepcopy-gen=true
func (*GlobalRateLimit) DeepCopy ¶
func (in *GlobalRateLimit) DeepCopy() *GlobalRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit.
func (*GlobalRateLimit) DeepCopyInto ¶
func (in *GlobalRateLimit) DeepCopyInto(out *GlobalRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTP10Settings ¶
type HTTP10Settings struct { // defaultHost is set to the default host that should be injected for HTTP10. If the hostname shouldn't // be set, then defaultHost will be nil DefaultHost *string `json:"defaultHost,omitempty" yaml:"defaultHost,omitempty"` }
HTTP10Settings provides HTTP/1.0 configuration on the listener. +k8s:deepcopy-gen=true
func (*HTTP10Settings) DeepCopy ¶
func (in *HTTP10Settings) DeepCopy() *HTTP10Settings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP10Settings.
func (*HTTP10Settings) DeepCopyInto ¶
func (in *HTTP10Settings) DeepCopyInto(out *HTTP10Settings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTP1Settings ¶
type HTTP1Settings struct { EnableTrailers bool `json:"enableTrailers,omitempty" yaml:"enableTrailers,omitempty"` PreserveHeaderCase bool `json:"preserveHeaderCase,omitempty" yaml:"preserveHeaderCase,omitempty"` HTTP10 *HTTP10Settings `json:"http10,omitempty" yaml:"http10,omitempty"` }
HTTP1Settings provides HTTP/1 configuration on the listener. +k8s:deepcopy-gen=true
func (*HTTP1Settings) DeepCopy ¶
func (in *HTTP1Settings) DeepCopy() *HTTP1Settings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP1Settings.
func (*HTTP1Settings) DeepCopyInto ¶
func (in *HTTP1Settings) DeepCopyInto(out *HTTP1Settings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTP3Settings ¶
type HTTP3Settings struct {
QUICPort int32 `json:"quicPort" yaml:"quicPort"`
}
HTTP3Settings provides HTTP/3 configuration on the listener.
type HTTPClientTimeout ¶
type HTTPClientTimeout struct { // The duration envoy waits for the complete request reception. This timer starts upon request // initiation and stops when either the last byte of the request is sent upstream or when the response begins. RequestReceivedTimeout *metav1.Duration `json:"requestReceivedTimeout,omitempty" yaml:"requestReceivedTimeout,omitempty"` }
HTTPClientTimeout set the configuration for client HTTP. +k8s:deepcopy-gen=true
func (*HTTPClientTimeout) DeepCopy ¶
func (in *HTTPClientTimeout) DeepCopy() *HTTPClientTimeout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPClientTimeout.
func (*HTTPClientTimeout) DeepCopyInto ¶
func (in *HTTPClientTimeout) DeepCopyInto(out *HTTPClientTimeout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPExtAuthService ¶
type HTTPExtAuthService struct { // Destination defines the destination for the HTTP External Authorization service. Destination RouteDestination `json:"destination"` // Authority is the hostname:port of the HTTP External Authorization service. Authority string `json:"authority"` // Path is the path of the HTTP External Authorization service. // If path is not empty, the authorization request will be sent to that path, // or else the authorization request will be sent to the root path. Path string `json:"path"` // HeadersToBackend are the authorization response headers that will be added // to the original client request before sending it to the backend server. // Note that coexisting headers will be overridden. // If not specified, no authorization response headers will be added to the // original client request. // +optional HeadersToBackend []string `json:"headersToBackend,omitempty"` }
HTTPExtAuthService defines the HTTP External Authorization service +k8s:deepcopy-gen=true
func (*HTTPExtAuthService) DeepCopy ¶
func (in *HTTPExtAuthService) DeepCopy() *HTTPExtAuthService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPExtAuthService.
func (*HTTPExtAuthService) DeepCopyInto ¶
func (in *HTTPExtAuthService) DeepCopyInto(out *HTTPExtAuthService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPHealthChecker ¶
type HTTPHealthChecker struct { // Host defines the value of the host header in the HTTP health check request. Host string `json:"host" yaml:"host"` // Path defines the HTTP path that will be requested during health checking. Path string `json:"path" yaml:"path"` // Method defines the HTTP method used for health checking. Method *string `json:"method,omitempty" yaml:"method,omitempty"` // ExpectedStatuses defines a list of HTTP response statuses considered healthy. ExpectedStatuses []HTTPStatus `json:"expectedStatuses,omitempty" yaml:"expectedStatuses,omitempty"` // ExpectedResponse defines a list of HTTP expected responses to match. ExpectedResponse *HealthCheckPayload `json:"expectedResponse,omitempty" yaml:"expectedResponses,omitempty"` }
HTTPHealthChecker defines the settings of http health check. +k8s:deepcopy-gen=true
func (*HTTPHealthChecker) DeepCopy ¶
func (in *HTTPHealthChecker) DeepCopy() *HTTPHealthChecker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthChecker.
func (*HTTPHealthChecker) DeepCopyInto ¶
func (in *HTTPHealthChecker) DeepCopyInto(out *HTTPHealthChecker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HTTPHealthChecker) Validate ¶
func (c *HTTPHealthChecker) Validate() error
Validate the fields within the HTTPHealthChecker structure.
type HTTPListener ¶
type HTTPListener struct { // Name of the HttpListener Name string `json:"name" yaml:"name"` // Address that the listener should listen on. Address string `json:"address" yaml:"address"` // Port on which the service can be expected to be accessed by clients. Port uint32 `json:"port" yaml:"port"` // Hostnames (Host/Authority header value) with which the service can be expected to be accessed by clients. // This field is required. Wildcard hosts are supported in the suffix or prefix form. // Refer to https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-virtualhost // for more info. Hostnames []string `json:"hostnames" yaml:"hostnames"` // Tls configuration. If omitted, the gateway will expose a plain text HTTP server. TLS *TLSConfig `json:"tls,omitempty" yaml:"tls,omitempty"` // Routes associated with HTTP traffic to the service. Routes []*HTTPRoute `json:"routes,omitempty" yaml:"routes,omitempty"` // IsHTTP2 is set if the listener is configured to serve HTTP2 traffic, // grpc-web and grpc-stats are also enabled if this is set. IsHTTP2 bool `json:"isHTTP2" yaml:"isHTTP2"` // TCPKeepalive configuration for the listener TCPKeepalive *TCPKeepalive `json:"tcpKeepalive,omitempty" yaml:"tcpKeepalive,omitempty"` // Headers configures special header management for the listener Headers *HeaderSettings `json:"headers,omitempty" yaml:"headers,omitempty"` // EnableProxyProtocol enables the listener to interpret proxy protocol header EnableProxyProtocol bool `json:"enableProxyProtocol,omitempty" yaml:"enableProxyProtocol,omitempty"` // ClientIPDetection controls how the original client IP address is determined for requests. // ClientIPDetection *ClientIPDetectionSettings `json:"clientIPDetection,omitempty" yaml:"clientIPDetection,omitempty"` // HTTP3 provides HTTP/3 configuration on the listener. // +optional HTTP3 *HTTP3Settings `json:"http3,omitempty"` // Path contains settings for path URI manipulations Path PathSettings `json:"path,omitempty"` // HTTP1 provides HTTP/1 configuration on the listener // +optional HTTP1 *HTTP1Settings `json:"http1,omitempty" yaml:"http1,omitempty"` // ClientTimeout sets the timeout configuration for downstream connections Timeout *ClientTimeout `json:"timeout,omitempty" yaml:"clientTimeout,omitempty"` }
HTTPListener holds the listener configuration. +k8s:deepcopy-gen=true
func (*HTTPListener) DeepCopy ¶
func (in *HTTPListener) DeepCopy() *HTTPListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPListener.
func (*HTTPListener) DeepCopyInto ¶
func (in *HTTPListener) DeepCopyInto(out *HTTPListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (HTTPListener) Validate ¶
func (h HTTPListener) Validate() error
Validate the fields within the HTTPListener structure
type HTTPPathModifier ¶
type HTTPPathModifier struct { // FullReplace provides a string to replace the full path of the request. FullReplace *string `json:"fullReplace" yaml:"fullReplace"` // PrefixMatchReplace provides a string to replace the matched prefix of the request. PrefixMatchReplace *string `json:"prefixMatchReplace" yaml:"prefixMatchReplace"` }
HTTPPathModifier holds instructions for how to modify the path of a request on a redirect response +k8s:deepcopy-gen=true
func (*HTTPPathModifier) DeepCopy ¶
func (in *HTTPPathModifier) DeepCopy() *HTTPPathModifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPPathModifier.
func (*HTTPPathModifier) DeepCopyInto ¶
func (in *HTTPPathModifier) DeepCopyInto(out *HTTPPathModifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (HTTPPathModifier) Validate ¶
func (r HTTPPathModifier) Validate() error
Validate the fields within the HTTPPathModifier structure
type HTTPRoute ¶
type HTTPRoute struct { // Name of the HTTPRoute Name string `json:"name" yaml:"name"` // Hostname that the route matches against Hostname string `json:"hostname" yaml:"hostname,omitempty"` // IsHTTP2 is set if the route is configured to serve HTTP2 traffic IsHTTP2 bool `json:"isHTTP2" yaml:"isHTTP2"` // PathMatch defines the match conditions on the path. PathMatch *StringMatch `json:"pathMatch,omitempty" yaml:"pathMatch,omitempty"` // HeaderMatches define the match conditions on the request headers for this route. HeaderMatches []*StringMatch `json:"headerMatches,omitempty" yaml:"headerMatches,omitempty"` // QueryParamMatches define the match conditions on the query parameters. QueryParamMatches []*StringMatch `json:"queryParamMatches,omitempty" yaml:"queryParamMatches,omitempty"` // DestinationWeights stores the weights of valid and invalid backends for the route so that 500 error responses can be returned in the same proportions BackendWeights BackendWeights `json:"backendWeights" yaml:"backendWeights"` // AddRequestHeaders defines header/value sets to be added to the headers of requests. AddRequestHeaders []AddHeader `json:"addRequestHeaders,omitempty" yaml:"addRequestHeaders,omitempty"` // RemoveRequestHeaders defines a list of headers to be removed from requests. RemoveRequestHeaders []string `json:"removeRequestHeaders,omitempty" yaml:"removeRequestHeaders,omitempty"` // AddResponseHeaders defines header/value sets to be added to the headers of response. AddResponseHeaders []AddHeader `json:"addResponseHeaders,omitempty" yaml:"addResponseHeaders,omitempty"` // RemoveResponseHeaders defines a list of headers to be removed from response. RemoveResponseHeaders []string `json:"removeResponseHeaders,omitempty" yaml:"removeResponseHeaders,omitempty"` // Direct responses to be returned for this route. Takes precedence over Destinations and Redirect. DirectResponse *DirectResponse `json:"directResponse,omitempty" yaml:"directResponse,omitempty"` // Redirections to be returned for this route. Takes precedence over Destinations. Redirect *Redirect `json:"redirect,omitempty" yaml:"redirect,omitempty"` // Destination that requests to this HTTPRoute will be mirrored to Mirrors []*RouteDestination `json:"mirrors,omitempty" yaml:"mirrors,omitempty"` // Destination associated with this matched route. Destination *RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"` // Rewrite to be changed for this route. URLRewrite *URLRewrite `json:"urlRewrite,omitempty" yaml:"urlRewrite,omitempty"` // RateLimit defines the more specific match conditions as well as limits for ratelimiting // the requests on this route. RateLimit *RateLimit `json:"rateLimit,omitempty" yaml:"rateLimit,omitempty"` // load balancer policy to use when routing to the backend endpoints. LoadBalancer *LoadBalancer `json:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"` // CORS policy for the route. CORS *CORS `json:"cors,omitempty" yaml:"cors,omitempty"` // JWT defines the schema for authenticating HTTP requests using JSON Web Tokens (JWT). // JWT *JWT `json:"jwt,omitempty" yaml:"jwt,omitempty"` // OIDC defines the schema for authenticating HTTP requests using OpenID Connect (OIDC). OIDC *OIDC `json:"oidc,omitempty" yaml:"oidc,omitempty"` // Proxy Protocol Settings ProxyProtocol *ProxyProtocol `json:"proxyProtocol,omitempty" yaml:"proxyProtocol,omitempty"` // BasicAuth defines the schema for the HTTP Basic Authentication. BasicAuth *BasicAuth `json:"basicAuth,omitempty" yaml:"basicAuth,omitempty"` // ExtAuth defines the schema for the external authorization. ExtAuth *ExtAuth `json:"extAuth,omitempty" yaml:"extAuth,omitempty"` // HealthCheck defines the configuration for health checking on the upstream. HealthCheck *HealthCheck `json:"healthCheck,omitempty" yaml:"healthCheck,omitempty"` // FaultInjection defines the schema for injecting faults into HTTP requests. FaultInjection *FaultInjection `json:"faultInjection,omitempty" yaml:"faultInjection,omitempty"` // ExtensionRefs holds unstructured resources that were introduced by an extension and used on the HTTPRoute as extensionRef filters ExtensionRefs []*UnstructuredRef `json:"extensionRefs,omitempty" yaml:"extensionRefs,omitempty"` // Circuit Breaker Settings CircuitBreaker *CircuitBreaker `json:"circuitBreaker,omitempty" yaml:"circuitBreaker,omitempty"` // Request and connection timeout settings Timeout *Timeout `json:"timeout,omitempty" yaml:"timeout,omitempty"` // TcpKeepalive settings associated with the upstream client connection. TCPKeepalive *TCPKeepalive `json:"tcpKeepalive,omitempty" yaml:"tcpKeepalive,omitempty"` // Retry settings Retry *Retry `json:"retry,omitempty" yaml:"retry,omitempty"` }
HTTPRoute holds the route information associated with the HTTP Route +k8s:deepcopy-gen=true
func (*HTTPRoute) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRoute.
func (*HTTPRoute) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPStatus ¶
type HTTPStatus int
HTTPStatus represents http status code.
func (HTTPStatus) Validate ¶
func (h HTTPStatus) Validate() error
type HTTPTimeout ¶
type HTTPTimeout struct { // RequestTimeout is the time until which entire response is received from the upstream. RequestTimeout *metav1.Duration `json:"requestTimeout,omitempty" yaml:"requestTimeout,omitempty"` // The idle timeout for an HTTP connection. Idle time is defined as a period in which there are no active requests in the connection. ConnectionIdleTimeout *metav1.Duration `json:"connectionIdleTimeout,omitempty" yaml:"connectionIdleTimeout,omitempty"` // The maximum duration of an HTTP connection. MaxConnectionDuration *metav1.Duration `json:"maxConnectionDuration,omitempty" yaml:"maxConnectionDuration,omitempty"` }
+k8s:deepcopy-gen=true
func (*HTTPTimeout) DeepCopy ¶
func (in *HTTPTimeout) DeepCopy() *HTTPTimeout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTimeout.
func (*HTTPTimeout) DeepCopyInto ¶
func (in *HTTPTimeout) DeepCopyInto(out *HTTPTimeout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HeaderSettings ¶
type HeaderSettings struct { // EnableEnvoyHeaders controls if "x-envoy-" headers are added by the HTTP Router filter. // The default is to suppress these headers. // Refer to https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/router/v3/router.proto#extensions-filters-http-router-v3-router EnableEnvoyHeaders bool `json:"enableEnvoyHeaders,omitempty" yaml:"enableEnvoyHeaders,omitempty"` }
HeaderSettings provides configuration related to header processing on the listener. +k8s:deepcopy-gen=true
func (*HeaderSettings) DeepCopy ¶
func (in *HeaderSettings) DeepCopy() *HeaderSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderSettings.
func (*HeaderSettings) DeepCopyInto ¶
func (in *HeaderSettings) DeepCopyInto(out *HeaderSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct { Active *ActiveHealthCheck `json:"active,omitempty" yaml:"active,omitempty"` Passive *OutlierDetection `json:"passive,omitempty" yaml:"passive,omitempty"` }
HealthCheck defines health check settings +k8s:deepcopy-gen=true
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheck) SetHTTPHostIfAbsent ¶
func (h *HealthCheck) SetHTTPHostIfAbsent(host string)
func (*HealthCheck) Validate ¶
func (h *HealthCheck) Validate() error
Validate the fields within the HealthCheck structure.
type HealthCheckPayload ¶
type HealthCheckPayload struct { // Text payload in plain text. Text *string `json:"text,omitempty" yaml:"text,omitempty"` // Binary payload base64 encoded Binary []byte `json:"binary,omitempty" yaml:"binary,omitempty"` }
HealthCheckPayload defines the encoding of the payload bytes in the payload. +k8s:deepcopy-gen=true
func (*HealthCheckPayload) DeepCopy ¶
func (in *HealthCheckPayload) DeepCopy() *HealthCheckPayload
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPayload.
func (*HealthCheckPayload) DeepCopyInto ¶
func (in *HealthCheckPayload) DeepCopyInto(out *HealthCheckPayload)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckPayload) Validate ¶
func (p *HealthCheckPayload) Validate() error
Validate the fields in the HealthCheckPayload.
type Infra ¶
type Infra struct { // Proxy defines managed proxy infrastructure. Proxy *ProxyInfra `json:"proxy" yaml:"proxy"` }
Infra defines managed infrastructure. +k8s:deepcopy-gen=true
func (*Infra) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Infra.
func (*Infra) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Infra) GetProxyInfra ¶
func (i *Infra) GetProxyInfra() *ProxyInfra
GetProxyInfra returns the ProxyInfra.
func (Infra) YAMLString ¶
type InfraMetadata ¶
type InfraMetadata struct { // Annotations define a map of string keys and values that can be used to // organize and categorize proxy infrastructure objects. Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` // Labels define a map of string keys and values that can be used to organize // and categorize proxy infrastructure objects. Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` }
InfraMetadata defines metadata for the managed proxy infrastructure. +k8s:deepcopy-gen=true
func NewInfraMetadata ¶
func NewInfraMetadata() *InfraMetadata
NewInfraMetadata returns a new InfraMetadata.
func (*InfraMetadata) DeepCopy ¶
func (in *InfraMetadata) DeepCopy() *InfraMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraMetadata.
func (*InfraMetadata) DeepCopyInto ¶
func (in *InfraMetadata) DeepCopyInto(out *InfraMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JSONAccessLog ¶
type JSONAccessLog struct { JSON map[string]string `json:"json,omitempty" yaml:"json,omitempty"` Path string `json:"path" yaml:"path"` }
JSONAccessLog holds the configuration for JSON access logging. +k8s:deepcopy-gen=true
func (*JSONAccessLog) DeepCopy ¶
func (in *JSONAccessLog) DeepCopy() *JSONAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONAccessLog.
func (*JSONAccessLog) DeepCopyInto ¶
func (in *JSONAccessLog) DeepCopyInto(out *JSONAccessLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JSONPatchConfig ¶
type JSONPatchConfig struct { // Type is the typed URL of the Envoy xDS Resource Type string `json:"type" yaml:"type"` // Name is the name of the resource Name string `json:"name" yaml:"name"` // Patch defines the JSON Patch Operation Operation JSONPatchOperation `json:"operation" yaml:"operation"` }
JSONPatchConfig defines the configuration for patching a Envoy xDS Resource using JSONPatch semantics +k8s:deepcopy-gen=true
func (*JSONPatchConfig) DeepCopy ¶
func (in *JSONPatchConfig) DeepCopy() *JSONPatchConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatchConfig.
func (*JSONPatchConfig) DeepCopyInto ¶
func (in *JSONPatchConfig) DeepCopyInto(out *JSONPatchConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JSONPatchOperation ¶
type JSONPatchOperation struct { // Op is the type of operation to perform Op string `json:"op" yaml:"op"` // Path is the location of the target document/field where the operation will be performed // Refer to https://datatracker.ietf.org/doc/html/rfc6901 for more details. Path string `json:"path" yaml:"path"` // From is the source location of the value to be copied or moved. Only valid // for move or copy operations // Refer to https://datatracker.ietf.org/doc/html/rfc6901 for more details. // +optional From *string `json:"from,omitempty" yaml:"from,omitempty"` // Value is the new value of the path location. Value *apiextensionsv1.JSON `json:"value,omitempty" yaml:"value,omitempty"` }
JSONPatchOperation defines the JSON Patch Operation as defined in https://datatracker.ietf.org/doc/html/rfc6902 +k8s:deepcopy-gen=true
func (*JSONPatchOperation) DeepCopy ¶
func (in *JSONPatchOperation) DeepCopy() *JSONPatchOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatchOperation.
func (*JSONPatchOperation) DeepCopyInto ¶
func (in *JSONPatchOperation) DeepCopyInto(out *JSONPatchOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeastRequest ¶
type LeastRequest struct { // SlowStart defines the slow start configuration. // If set, slow start mode is enabled for newly added hosts in the cluster. SlowStart *SlowStart `json:"slowStart,omitempty" yaml:"slowStart,omitempty"` }
LeastRequest load balancer settings +k8s:deepcopy-gen=true
func (*LeastRequest) DeepCopy ¶
func (in *LeastRequest) DeepCopy() *LeastRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeastRequest.
func (*LeastRequest) DeepCopyInto ¶
func (in *LeastRequest) DeepCopyInto(out *LeastRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ListenerPort ¶
type ListenerPort struct { // Name is the name of the listener port. Name string `json:"name" yaml:"name"` // Protocol is the protocol that the listener port will listener for. Protocol ProtocolType `json:"protocol" yaml:"protocol"` // ServicePort is the port number the proxy service is listening on. ServicePort int32 `json:"servicePort" yaml:"servicePort"` // ContainerPort is the port number the proxy container is listening on. ContainerPort int32 `json:"containerPort" yaml:"containerPort"` }
ListenerPort defines a network port of a listener. +k8s:deepcopy-gen=true
func (*ListenerPort) DeepCopy ¶
func (in *ListenerPort) DeepCopy() *ListenerPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerPort.
func (*ListenerPort) DeepCopyInto ¶
func (in *ListenerPort) DeepCopyInto(out *ListenerPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancer ¶
type LoadBalancer struct { // RoundRobin load balacning policy RoundRobin *RoundRobin `json:"roundRobin,omitempty" yaml:"roundRobin,omitempty"` // LeastRequest load balancer policy LeastRequest *LeastRequest `json:"leastRequest,omitempty" yaml:"leastRequest,omitempty"` // Random load balancer policy Random *Random `json:"random,omitempty" yaml:"random,omitempty"` // ConsistentHash load balancer policy ConsistentHash *ConsistentHash `json:"consistentHash,omitempty" yaml:"consistentHash,omitempty"` }
LoadBalancer defines the load balancer settings. +k8s:deepcopy-gen=true
func (*LoadBalancer) DeepCopy ¶
func (in *LoadBalancer) DeepCopy() *LoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.
func (*LoadBalancer) DeepCopyInto ¶
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancer) Validate ¶
func (l *LoadBalancer) Validate() error
Validate the fields within the LoadBalancer structure
type LocalRateLimit ¶
type LocalRateLimit struct { // Default rate limiting values. // If a request does not match any of the rules, the default values are used. Default RateLimitValue `json:"default,omitempty" yaml:"default,omitempty"` // Rules for rate limiting. Rules []*RateLimitRule `json:"rules,omitempty" yaml:"rules,omitempty"` }
LocalRateLimit holds the local rate limiting configuration. +k8s:deepcopy-gen=true
func (*LocalRateLimit) DeepCopy ¶
func (in *LocalRateLimit) DeepCopy() *LocalRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimit.
func (*LocalRateLimit) DeepCopyInto ¶
func (in *LocalRateLimit) DeepCopyInto(out *LocalRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metrics ¶
type Metrics struct {
EnableVirtualHostStats bool `json:"enableVirtualHostStats" yaml:"enableVirtualHostStats"`
}
Metrics defines the configuration for metrics generated by Envoy +k8s:deepcopy-gen=true
func (*Metrics) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.
func (*Metrics) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDC ¶
type OIDC struct { // The OIDC Provider configuration. Provider OIDCProvider `json:"provider" yaml:"provider"` // The OIDC client ID to be used in the // [Authentication Request](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest). ClientID string `json:"clientID" yaml:"clientID"` // The OIDC client secret to be used in the // [Authentication Request](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest). // // This is an Opaque secret. The client secret should be stored in the key "client-secret". ClientSecret []byte `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty"` // HMACSecret is the secret used to sign the HMAC of the OAuth2 filter cookies. HMACSecret []byte `json:"hmacSecret,omitempty" yaml:"hmacSecret,omitempty"` // The OIDC scopes to be used in the // [Authentication Request](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest). Scopes []string `json:"scopes,omitempty" yaml:"scopes,omitempty"` // The redirect URL to be used in the OIDC // [Authentication Request](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest). RedirectURL string `json:"redirectURL,omitempty"` // The path part of the redirect URL RedirectPath string `json:"redirectPath,omitempty"` // The path to log a user out, clearing their credential cookies. LogoutPath string `json:"logoutPath,omitempty"` // CookieSuffix will be added to the name of the cookies set by the oauth filter. // Adding a suffix avoids multiple oauth filters from overwriting each other's cookies. // These cookies are set by the oauth filter, including: BearerToken, // OauthHMAC, OauthExpires, IdToken, and RefreshToken. CookieSuffix string `json:"cookieSuffix,omitempty"` }
OIDC defines the schema for authenticating HTTP requests using OpenID Connect (OIDC).
+k8s:deepcopy-gen=true
func (*OIDC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDC.
func (*OIDC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCProvider ¶
type OIDCProvider struct { // The OIDC Provider's [authorization endpoint](https://openid.net/specs/openid-connect-core-1_0.html#AuthorizationEndpoint). AuthorizationEndpoint string `json:"authorizationEndpoint,omitempty"` // The OIDC Provider's [token endpoint](https://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint). TokenEndpoint string `json:"tokenEndpoint,omitempty"` }
type OpenTelemetryAccessLog ¶
type OpenTelemetryAccessLog struct { Text *string `json:"text,omitempty" yaml:"text,omitempty"` Attributes map[string]string `json:"attributes,omitempty" yaml:"attributes,omitempty"` Host string `json:"host" yaml:"host"` Port uint32 `json:"port" yaml:"port"` Resources map[string]string `json:"resources,omitempty" yaml:"resources,omitempty"` }
OpenTelemetryAccessLog holds the configuration for OpenTelemetry access logging. +k8s:deepcopy-gen=true
func (*OpenTelemetryAccessLog) DeepCopy ¶
func (in *OpenTelemetryAccessLog) DeepCopy() *OpenTelemetryAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryAccessLog.
func (*OpenTelemetryAccessLog) DeepCopyInto ¶
func (in *OpenTelemetryAccessLog) DeepCopyInto(out *OpenTelemetryAccessLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OutlierDetection ¶
type OutlierDetection struct { // Interval defines the time between passive health checks. Interval *metav1.Duration `json:"interval,omitempty"` // SplitExternalLocalOriginErrors enables splitting of errors between external and local origin. SplitExternalLocalOriginErrors *bool `json:"splitExternalLocalOriginErrors,omitempty" yaml:"splitExternalLocalOriginErrors,omitempty"` // ConsecutiveLocalOriginFailures sets the number of consecutive local origin failures triggering ejection. ConsecutiveLocalOriginFailures *uint32 `json:"consecutiveLocalOriginFailures,omitempty" yaml:"consecutiveLocalOriginFailures,omitempty"` // ConsecutiveGatewayErrors sets the number of consecutive gateway errors triggering ejection. ConsecutiveGatewayErrors *uint32 `json:"consecutiveGatewayErrors,omitempty" yaml:"consecutiveGatewayErrors,omitempty"` // Consecutive5xxErrors sets the number of consecutive 5xx errors triggering ejection. Consecutive5xxErrors *uint32 `json:"consecutive5XxErrors,omitempty" yaml:"consecutive5XxErrors,omitempty"` // BaseEjectionTime defines the base duration for which a host will be ejected on consecutive failures. BaseEjectionTime *metav1.Duration `json:"baseEjectionTime,omitempty" yaml:"baseEjectionTime,omitempty"` // MaxEjectionPercent sets the maximum percentage of hosts in a cluster that can be ejected. MaxEjectionPercent *int32 `json:"maxEjectionPercent,omitempty" yaml:"maxEjectionPercent,omitempty"` }
OutlierDetection defines passive health check settings +k8s:deepcopy-gen=true
func (*OutlierDetection) DeepCopy ¶
func (in *OutlierDetection) DeepCopy() *OutlierDetection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetection.
func (*OutlierDetection) DeepCopyInto ¶
func (in *OutlierDetection) DeepCopyInto(out *OutlierDetection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PathSettings ¶
type PathSettings struct {
MergeSlashes bool `json:"mergeSlashes" yaml:"mergeSlashes"`
}
PathSettings holds configuration for path URI manipulations +k8s:deepcopy-gen=true
func (*PathSettings) DeepCopy ¶
func (in *PathSettings) DeepCopy() *PathSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathSettings.
func (*PathSettings) DeepCopyInto ¶
func (in *PathSettings) DeepCopyInto(out *PathSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PerRetryPolicy ¶
type PerRetryPolicy struct { // Timeout is the timeout per retry attempt. Timeout *metav1.Duration `json:"timeout,omitempty"` // Backoff is the backoff policy to be applied per retry attempt. BackOff *BackOffPolicy `json:"backOff,omitempty"` }
+k8s:deepcopy-gen=true
func (*PerRetryPolicy) DeepCopy ¶
func (in *PerRetryPolicy) DeepCopy() *PerRetryPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerRetryPolicy.
func (*PerRetryPolicy) DeepCopyInto ¶
func (in *PerRetryPolicy) DeepCopyInto(out *PerRetryPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProtocolType ¶
type ProtocolType string
ProtocolType defines the application protocol accepted by a ListenerPort.
Valid values include "HTTP" and "HTTPS".
const ( // HTTPProtocolType accepts cleartext HTTP/1.1 sessions over TCP or HTTP/2 // over cleartext. HTTPProtocolType ProtocolType = "HTTP" // HTTPSProtocolType accepts HTTP/1.1 or HTTP/2 sessions over TLS. HTTPSProtocolType ProtocolType = "HTTPS" // TLSProtocolType accepts TLS sessions over TCP. TLSProtocolType ProtocolType = "TLS" // TCPProtocolType accepts TCP connection. TCPProtocolType ProtocolType = "TCP" // UDPProtocolType accepts UDP connection. UDPProtocolType ProtocolType = "UDP" )
type ProxyInfra ¶
type ProxyInfra struct { // Metadata defines metadata for the managed proxy infrastructure. Metadata *InfraMetadata `json:"metadata,omitempty" yaml:"metadata,omitempty"` // Name is the name used for managed proxy infrastructure. Name string `json:"name" yaml:"name"` // Config defines user-facing configuration of the managed proxy infrastructure. Config *v1alpha1.EnvoyProxy `json:"config,omitempty" yaml:"config,omitempty"` // Listeners define the listeners exposed by the proxy infrastructure. Listeners []*ProxyListener `json:"listeners,omitempty" yaml:"listeners,omitempty"` // Addresses contain the external addresses this gateway has been // requested to be available at. Addresses []string `json:"addresses,omitempty" yaml:"addresses,omitempty"` }
ProxyInfra defines managed proxy infrastructure. +k8s:deepcopy-gen=true
func NewProxyInfra ¶
func NewProxyInfra() *ProxyInfra
NewProxyInfra returns a new ProxyInfra with default parameters.
func (*ProxyInfra) DeepCopy ¶
func (in *ProxyInfra) DeepCopy() *ProxyInfra
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyInfra.
func (*ProxyInfra) DeepCopyInto ¶
func (in *ProxyInfra) DeepCopyInto(out *ProxyInfra)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyInfra) Equal ¶
func (p *ProxyInfra) Equal(y *ProxyInfra) bool
Equal implements the Comparable interface used by watchable.DeepEqual to skip unnecessary updates.
func (*ProxyInfra) GetProxyConfig ¶
func (p *ProxyInfra) GetProxyConfig() *v1alpha1.EnvoyProxy
GetProxyConfig returns the ProxyInfra config.
func (*ProxyInfra) GetProxyMetadata ¶
func (p *ProxyInfra) GetProxyMetadata() *InfraMetadata
GetProxyMetadata returns the InfraMetadata.
func (*ProxyInfra) ObjectName ¶
func (p *ProxyInfra) ObjectName() string
ObjectName returns the name of the proxy infrastructure object.
func (*ProxyInfra) Validate ¶
func (p *ProxyInfra) Validate() error
Validate validates the provided ProxyInfra.
type ProxyListener ¶
type ProxyListener struct { // Name of the ProxyListener Name string `json:"name" yaml:"name"` // Address is the address that the listener should listen on. Address *string `json:"address" yaml:"address"` // Ports define network ports of the listener. Ports []ListenerPort `json:"ports,omitempty" yaml:"ports,omitempty"` // HTTP3 provides HTTP/3 configuration on the listener. // +optional HTTP3 *HTTP3Settings `json:"http3,omitempty"` }
ProxyListener defines the listener configuration of the proxy infrastructure. +k8s:deepcopy-gen=true
func NewProxyListeners ¶
func NewProxyListeners() []*ProxyListener
NewProxyListeners returns a new slice of ProxyListener with default parameters.
func (*ProxyListener) DeepCopy ¶
func (in *ProxyListener) DeepCopy() *ProxyListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyListener.
func (*ProxyListener) DeepCopyInto ¶
func (in *ProxyListener) DeepCopyInto(out *ProxyListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyProtocol ¶
type ProxyProtocol struct { // Version of proxy protocol to use Version ProxyProtocolVersion `json:"version,omitempty" yaml:"version,omitempty"` }
ProxyProtocol upstream settings +k8s:deepcopy-gen=true
func (*ProxyProtocol) DeepCopy ¶
func (in *ProxyProtocol) DeepCopy() *ProxyProtocol
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyProtocol.
func (*ProxyProtocol) DeepCopyInto ¶
func (in *ProxyProtocol) DeepCopyInto(out *ProxyProtocol)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyProtocolVersion ¶
type ProxyProtocolVersion string
const ( // ProxyProtocolVersionV1 is the PROXY protocol version 1 (human readable format). ProxyProtocolVersionV1 ProxyProtocolVersion = "V1" // ProxyProtocolVersionV2 is the PROXY protocol version 2 (binary format). ProxyProtocolVersionV2 ProxyProtocolVersion = "V2" )
type Random ¶
type Random struct{}
Random load balancer settings +k8s:deepcopy-gen=true
func (*Random) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Random.
func (*Random) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimit ¶
type RateLimit struct { // Global rate limit settings. Global *GlobalRateLimit `json:"global,omitempty" yaml:"global,omitempty"` // Local rate limit settings. Local *LocalRateLimit `json:"local,omitempty" yaml:"local,omitempty"` }
RateLimit holds the rate limiting configuration. +k8s:deepcopy-gen=true
func (*RateLimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.
func (*RateLimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitRule ¶
type RateLimitRule struct { // HeaderMatches define the match conditions on the request headers for this route. HeaderMatches []*StringMatch `json:"headerMatches" yaml:"headerMatches"` // CIDRMatch define the match conditions on the source IP's CIDR for this route. CIDRMatch *CIDRMatch `json:"cidrMatch,omitempty" yaml:"cidrMatch,omitempty"` // Limit holds the rate limit values. Limit RateLimitValue `json:"limit,omitempty" yaml:"limit,omitempty"` }
RateLimitRule holds the match and limit configuration for ratelimiting. +k8s:deepcopy-gen=true
func (*RateLimitRule) DeepCopy ¶
func (in *RateLimitRule) DeepCopy() *RateLimitRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitRule.
func (*RateLimitRule) DeepCopyInto ¶
func (in *RateLimitRule) DeepCopyInto(out *RateLimitRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitRule) IsMatchSet ¶
func (r *RateLimitRule) IsMatchSet() bool
TODO zhaohuabing: remove this function
type RateLimitValue ¶
type RateLimitValue struct { // Requests are the number of requests that need to be rate limited. Requests uint `json:"requests" yaml:"requests"` }
RateLimitValue holds the +k8s:deepcopy-gen=true
func (*RateLimitValue) DeepCopy ¶
func (in *RateLimitValue) DeepCopy() *RateLimitValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitValue.
func (*RateLimitValue) DeepCopyInto ¶
func (in *RateLimitValue) DeepCopyInto(out *RateLimitValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Redirect ¶
type Redirect struct { // Scheme configures the replacement of the request's scheme. Scheme *string `json:"scheme" yaml:"scheme"` // Hostname configures the replacement of the request's hostname. Hostname *string `json:"hostname" yaml:"hostname"` // Path contains config for rewriting the path of the request. Path *HTTPPathModifier `json:"path" yaml:"path"` // Port configures the replacement of the request's port. Port *uint32 `json:"port" yaml:"port"` // Status code configures the redirection response's status code. StatusCode *int32 `json:"statusCode" yaml:"statusCode"` }
Redirect holds the details for how and where to redirect a request +k8s:deepcopy-gen=true
func (*Redirect) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Redirect.
func (*Redirect) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Retry ¶
type Retry struct { // NumRetries is the number of retries to be attempted. Defaults to 2. NumRetries *uint32 `json:"numRetries,omitempty"` // RetryOn specifies the retry trigger condition. RetryOn *RetryOn `json:"retryOn,omitempty"` // PerRetry is the retry policy to be applied per retry attempt. PerRetry *PerRetryPolicy `json:"perRetry,omitempty"` }
Retry define the retry policy configuration. +k8s:deepcopy-gen=true
func (*Retry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Retry.
func (*Retry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetryOn ¶
type RetryOn struct { // Triggers specifies the retry trigger condition(Http/Grpc). Triggers []TriggerEnum `json:"triggers,omitempty"` // HttpStatusCodes specifies the http status codes to be retried. HTTPStatusCodes []HTTPStatus `json:"httpStatusCodes,omitempty"` }
+k8s:deepcopy-gen=true
func (*RetryOn) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryOn.
func (*RetryOn) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoundRobin ¶
type RoundRobin struct { // SlowStart defines the slow start configuration. // If set, slow start mode is enabled for newly added hosts in the cluster. SlowStart *SlowStart `json:"slowStart,omitempty" yaml:"slowStart,omitempty"` }
RoundRobin load balancer settings +k8s:deepcopy-gen=true
func (*RoundRobin) DeepCopy ¶
func (in *RoundRobin) DeepCopy() *RoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoundRobin.
func (*RoundRobin) DeepCopyInto ¶
func (in *RoundRobin) DeepCopyInto(out *RoundRobin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteDestination ¶
type RouteDestination struct { // Name of the destination. This field allows the xds layer // to check if this route destination already exists and can be // reused Name string `json:"name" yaml:"name"` Settings []*DestinationSetting `json:"settings,omitempty" yaml:"settings,omitempty"` }
RouteDestination holds the destination details associated with the route +kubebuilder:object:generate=true
func (*RouteDestination) DeepCopy ¶
func (in *RouteDestination) DeepCopy() *RouteDestination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteDestination.
func (*RouteDestination) DeepCopyInto ¶
func (in *RouteDestination) DeepCopyInto(out *RouteDestination)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RouteDestination) Validate ¶
func (r RouteDestination) Validate() error
Validate the fields within the RouteDestination structure
type SlowStart ¶
type SlowStart struct { // Window defines the duration of the warm up period for newly added host. Window *metav1.Duration `json:"window" yaml:"window"` }
SlowStart defines the slow start configuration. +k8s:deepcopy-gen=true
func (*SlowStart) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlowStart.
func (*SlowStart) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StringMatch ¶
type StringMatch struct { // Name of the field to match on. Name string `json:"name" yaml:"name"` // Exact match condition. Exact *string `json:"exact,omitempty" yaml:"exact,omitempty"` // Prefix match condition. Prefix *string `json:"prefix,omitempty" yaml:"prefix,omitempty"` // Suffix match condition. Suffix *string `json:"suffix,omitempty" yaml:"suffix,omitempty"` // SafeRegex match condition. SafeRegex *string `json:"safeRegex,omitempty" yaml:"safeRegex,omitempty"` // Distinct match condition. // Used to match any and all possible unique values encountered within the Name field. Distinct bool `json:"distinct" yaml:"distinct"` }
StringMatch holds the various match conditions. Only one of Exact, Prefix, SafeRegex or Distinct can be set. +k8s:deepcopy-gen=true
func (*StringMatch) DeepCopy ¶
func (in *StringMatch) DeepCopy() *StringMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringMatch.
func (*StringMatch) DeepCopyInto ¶
func (in *StringMatch) DeepCopyInto(out *StringMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (StringMatch) Validate ¶
func (s StringMatch) Validate() error
Validate the fields within the StringMatch structure
type TCPHealthChecker ¶
type TCPHealthChecker struct { Send *HealthCheckPayload `json:"send,omitempty" yaml:"send,omitempty"` Receive *HealthCheckPayload `json:"receive,omitempty" yaml:"receive,omitempty"` }
TCPHealthChecker defines the settings of tcp health check. +k8s:deepcopy-gen=true
func (*TCPHealthChecker) DeepCopy ¶
func (in *TCPHealthChecker) DeepCopy() *TCPHealthChecker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthChecker.
func (*TCPHealthChecker) DeepCopyInto ¶
func (in *TCPHealthChecker) DeepCopyInto(out *TCPHealthChecker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPHealthChecker) Validate ¶
func (c *TCPHealthChecker) Validate() error
Validate the fields within the TCPHealthChecker structure.
type TCPKeepalive ¶
type TCPKeepalive struct { // The total number of unacknowledged probes to send before deciding // the connection is dead. // Defaults to 9. Probes *uint32 `json:"probes,omitempty" yaml:"probes,omitempty"` // The duration, in seconds, a connection needs to be idle before keep-alive // probes start being sent. // Defaults to `7200s`. IdleTime *uint32 `json:"idleTime,omitempty" yaml:"idleTime,omitempty"` // The duration, in seconds, between keep-alive probes. // Defaults to `75s`. Interval *uint32 `json:"interval,omitempty" yaml:"interval,omitempty"` }
TCPKeepalive define the TCP Keepalive configuration. +k8s:deepcopy-gen=true
func (*TCPKeepalive) DeepCopy ¶
func (in *TCPKeepalive) DeepCopy() *TCPKeepalive
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPKeepalive.
func (*TCPKeepalive) DeepCopyInto ¶
func (in *TCPKeepalive) DeepCopyInto(out *TCPKeepalive)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPListener ¶
type TCPListener struct { // Name of the TCPListener Name string `json:"name" yaml:"name"` // Address that the listener should listen on. Address string `json:"address" yaml:"address"` // Port on which the service can be expected to be accessed by clients. Port uint32 `json:"port" yaml:"port"` // TLS holds information for configuring TLS on a listener TLS *TLS `json:"tls,omitempty" yaml:"tls,omitempty"` // Destinations associated with TCP traffic to the service. Destination *RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"` // TCPKeepalive configuration for the listener TCPKeepalive *TCPKeepalive `json:"tcpKeepalive,omitempty" yaml:"tcpKeepalive,omitempty"` }
TCPListener holds the TCP listener configuration. +k8s:deepcopy-gen=true
func (*TCPListener) DeepCopy ¶
func (in *TCPListener) DeepCopy() *TCPListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPListener.
func (*TCPListener) DeepCopyInto ¶
func (in *TCPListener) DeepCopyInto(out *TCPListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TCPListener) Validate ¶
func (h TCPListener) Validate() error
Validate the fields within the TCPListener structure
type TCPTimeout ¶
type TCPTimeout struct { // The timeout for network connection establishment, including TCP and TLS handshakes. ConnectTimeout *metav1.Duration `json:"connectTimeout,omitempty" yaml:"connectTimeout,omitempty"` }
+k8s:deepcopy-gen=true
func (*TCPTimeout) DeepCopy ¶
func (in *TCPTimeout) DeepCopy() *TCPTimeout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPTimeout.
func (*TCPTimeout) DeepCopyInto ¶
func (in *TCPTimeout) DeepCopyInto(out *TCPTimeout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLS ¶
type TLS struct { // TLS information required for TLS Passthrough, If provided, incoming // connections' server names are inspected and routed to backends accordingly. Passthrough *TLSInspectorConfig `json:"passthrough,omitempty" yaml:"passthrough,omitempty"` // TLS information required for TLS Termination Terminate *TLSConfig `json:"terminate,omitempty" yaml:"terminate,omitempty"` }
TLS holds information for configuring TLS on a listener +k8s:deepcopy-gen=true
func (*TLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSCACertificate ¶
type TLSCACertificate struct { // Name of the Secret object. Name string `json:"name,omitempty" yaml:"name,omitempty"` // Certificate content. Certificate []byte `json:"certificate,omitempty" yaml:"certificate,omitempty"` }
TLSCACertificate holds CA Certificate to validate clients +k8s:deepcopy-gen=true
func (*TLSCACertificate) DeepCopy ¶
func (in *TLSCACertificate) DeepCopy() *TLSCACertificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCACertificate.
func (*TLSCACertificate) DeepCopyInto ¶
func (in *TLSCACertificate) DeepCopyInto(out *TLSCACertificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSCertificate ¶
type TLSCertificate struct { // Name of the Secret object. Name string `json:"name" yaml:"name"` // ServerCertificate of the server. ServerCertificate []byte `json:"serverCertificate,omitempty" yaml:"serverCertificate,omitempty"` // PrivateKey for the server. PrivateKey []byte `json:"privateKey,omitempty" yaml:"privateKey,omitempty"` }
TLSCertificate holds a single certificate's details +k8s:deepcopy-gen=true
func (*TLSCertificate) DeepCopy ¶
func (in *TLSCertificate) DeepCopy() *TLSCertificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificate.
func (*TLSCertificate) DeepCopyInto ¶
func (in *TLSCertificate) DeepCopyInto(out *TLSCertificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TLSCertificate) Validate ¶
func (t TLSCertificate) Validate() error
type TLSConfig ¶
type TLSConfig struct { // Certificates contains the set of certificates associated with this listener Certificates []TLSCertificate `json:"certificates,omitempty" yaml:"certificates,omitempty"` // CACertificate to verify the client CACertificate *TLSCACertificate `json:"caCertificate,omitempty" yaml:"caCertificate,omitempty"` // MinVersion defines the minimal version of the TLS protocol supported by this listener. MinVersion *TLSVersion `json:"minVersion,omitempty" yaml:"version,omitempty"` // MaxVersion defines the maximal version of the TLS protocol supported by this listener. MaxVersion *TLSVersion `json:"maxVersion,omitempty" yaml:"version,omitempty"` // CipherSuites supported by this listener Ciphers []string `json:"ciphers,omitempty" yaml:"ciphers,omitempty"` // EDCHCurves supported by this listener ECDHCurves []string `json:"ecdhCurves,omitempty" yaml:"ecdhCurves,omitempty"` // SignatureAlgorithms supported by this listener SignatureAlgorithms []string `json:"signatureAlgorithms,omitempty" yaml:"signatureAlgorithms,omitempty"` // ALPNProtocols exposed by this listener ALPNProtocols []string `json:"alpnProtocols,omitempty" yaml:"alpnProtocols,omitempty"` }
TLSConfig holds the configuration for downstream TLS context. +k8s:deepcopy-gen=true
func (*TLSConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSInspectorConfig ¶
type TLSInspectorConfig struct { // Server names that are compared against the server names of a new connection. // Wildcard hosts are supported in the prefix form. Partial wildcards are not // supported, and values like *w.example.com are invalid. // SNIs are used only in case of TLS Passthrough. SNIs []string `json:"snis,omitempty" yaml:"snis,omitempty"` }
TLSInspectorConfig holds the configuration required for inspecting TLS passthrough connections. +k8s:deepcopy-gen=true
func (*TLSInspectorConfig) DeepCopy ¶
func (in *TLSInspectorConfig) DeepCopy() *TLSInspectorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSInspectorConfig.
func (*TLSInspectorConfig) DeepCopyInto ¶
func (in *TLSInspectorConfig) DeepCopyInto(out *TLSInspectorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TLSInspectorConfig) Validate ¶
func (t TLSInspectorConfig) Validate() error
type TLSUpstreamConfig ¶
type TLSUpstreamConfig struct { SNI string `json:"sni,omitempty" yaml:"sni,omitempty"` UseSystemTrustStore bool `json:"useSystemTrustStore,omitempty" yaml:"useSystemTrustStore,omitempty"` CACertificate *TLSCACertificate `json:"caCertificate,omitempty" yaml:"caCertificate,omitempty"` }
TLSUpstreamConfig contains sni and ca file in []byte format. +k8s:deepcopy-gen=true
func (*TLSUpstreamConfig) DeepCopy ¶
func (in *TLSUpstreamConfig) DeepCopy() *TLSUpstreamConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSUpstreamConfig.
func (*TLSUpstreamConfig) DeepCopyInto ¶
func (in *TLSUpstreamConfig) DeepCopyInto(out *TLSUpstreamConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSVersion ¶
type TLSVersion types.TLSVersion
type TextAccessLog ¶
type TextAccessLog struct { Format *string `json:"format,omitempty" yaml:"format,omitempty"` Path string `json:"path" yaml:"path"` }
TextAccessLog holds the configuration for text access logging. +k8s:deepcopy-gen=true
func (*TextAccessLog) DeepCopy ¶
func (in *TextAccessLog) DeepCopy() *TextAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TextAccessLog.
func (*TextAccessLog) DeepCopyInto ¶
func (in *TextAccessLog) DeepCopyInto(out *TextAccessLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Timeout ¶
type Timeout struct { // Timeout settings for TCP. TCP *TCPTimeout `json:"tcp,omitempty" yaml:"tcp,omitempty"` // Timeout settings for HTTP. HTTP *HTTPTimeout `json:"http,omitempty" yaml:"tcp,omitempty"` }
Backend connection timeout settings +k8s:deepcopy-gen=true
func (*Timeout) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeout.
func (*Timeout) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tracing ¶
type Tracing struct { ServiceName string `json:"serviceName"` egv1a1.ProxyTracing }
Tracing defines the configuration for tracing a Envoy xDS Resource +k8s:deepcopy-gen=true
func (*Tracing) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing.
func (*Tracing) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TriggerEnum ¶
type TriggerEnum egv1a1.TriggerEnum
type UDPListener ¶
type UDPListener struct { // Name of the UDPListener Name string `json:"name" yaml:"name"` // Address that the listener should listen on. Address string `json:"address" yaml:"address"` // Port on which the service can be expected to be accessed by clients. Port uint32 `json:"port" yaml:"port"` // Destination associated with UDP traffic to the service. Destination *RouteDestination `json:"destination,omitempty" yaml:"destination,omitempty"` }
UDPListener holds the UDP listener configuration. +k8s:deepcopy-gen=true
func (*UDPListener) DeepCopy ¶
func (in *UDPListener) DeepCopy() *UDPListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPListener.
func (*UDPListener) DeepCopyInto ¶
func (in *UDPListener) DeepCopyInto(out *UDPListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (UDPListener) Validate ¶
func (h UDPListener) Validate() error
Validate the fields within the UDPListener structure
type URLRewrite ¶
type URLRewrite struct { // Path contains config for rewriting the path of the request. Path *HTTPPathModifier `json:"path,omitempty" yaml:"path,omitempty"` // Hostname configures the replacement of the request's hostname. Hostname *string `json:"hostname,omitempty" yaml:"hostname,omitempty"` }
URLRewrite holds the details for how to rewrite a request +k8s:deepcopy-gen=true
func (*URLRewrite) DeepCopy ¶
func (in *URLRewrite) DeepCopy() *URLRewrite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewrite.
func (*URLRewrite) DeepCopyInto ¶
func (in *URLRewrite) DeepCopyInto(out *URLRewrite)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (URLRewrite) Validate ¶
func (r URLRewrite) Validate() error
Validate the fields within the URLRewrite structure
type UnstructuredRef ¶
type UnstructuredRef struct {
Object *unstructured.Unstructured `json:"object,omitempty" yaml:"object,omitempty"`
}
UnstructuredRef holds unstructured data for an arbitrary k8s resource introduced by an extension APK Gateway does not need to know about the resource types in order to store and pass the data for these objects to an extension.
+k8s:deepcopy-gen=true
func (*UnstructuredRef) DeepCopy ¶
func (in *UnstructuredRef) DeepCopy() *UnstructuredRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnstructuredRef.
func (*UnstructuredRef) DeepCopyInto ¶
func (in *UnstructuredRef) DeepCopyInto(out *UnstructuredRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Xds ¶
type Xds struct { // AccessLog configuration for the gateway. AccessLog *AccessLog `json:"accessLog,omitempty" yaml:"accessLog,omitempty"` // Tracing configuration for the gateway. Tracing *Tracing `json:"tracing,omitempty" yaml:"tracing,omitempty"` // Metrics configuration for the gateway. Metrics *Metrics `json:"metrics,omitempty" yaml:"metrics,omitempty"` // HTTP listeners exposed by the gateway. HTTP []*HTTPListener `json:"http,omitempty" yaml:"http,omitempty"` // TCP Listeners exposed by the gateway. TCP []*TCPListener `json:"tcp,omitempty" yaml:"tcp,omitempty"` // UDP Listeners exposed by the gateway. UDP []*UDPListener `json:"udp,omitempty" yaml:"udp,omitempty"` }
Xds holds the intermediate representation of a Gateway and is used by the xDS Translator to convert it into xDS resources. +k8s:deepcopy-gen=true
func (*Xds) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Xds.
func (*Xds) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Xds) Equal ¶
Equal implements the Comparable interface used by watchable.DeepEqual to skip unnecessary updates.
func (Xds) GetHTTPListener ¶
func (x Xds) GetHTTPListener(name string) *HTTPListener
func (Xds) GetTCPListener ¶
func (x Xds) GetTCPListener(name string) *TCPListener
func (Xds) GetUDPListener ¶
func (x Xds) GetUDPListener(name string) *UDPListener