Documentation ¶
Index ¶
- Constants
- Variables
- type AccessLog
- type AddHeader
- type BackendWeights
- type CIDRMatch
- type CORS
- type ConsistentHash
- type DestinationEndpoint
- type DestinationSetting
- type DirectResponse
- type EnvoyPatchPolicy
- type EnvoyPatchPolicyStatus
- type GlobalRateLimit
- type HTTPListener
- type HTTPPathModifier
- type HTTPRoute
- type Infra
- type InfraMetadata
- type JSONAccessLog
- type JSONPatchConfig
- type JSONPatchOperation
- type JWT
- type LeastRequest
- type ListenerPort
- type LoadBalancer
- type Metrics
- type OpenTelemetryAccessLog
- type ProtocolType
- type ProxyInfra
- type ProxyListener
- type Random
- type RateLimit
- type RateLimitRule
- type RateLimitUnit
- type RateLimitValue
- type Redirect
- type RoundRobin
- type RouteDestination
- type StringMatch
- type TCPKeepalive
- type TCPListener
- type TLS
- type TLSInspectorConfig
- type TLSListenerConfig
- type TextAccessLog
- type Tracing
- 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
Constants ¶
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 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") )
Functions ¶
This section is empty.
Types ¶
type AccessLog ¶ added in v0.5.0
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 ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLog.
func (*AccessLog) DeepCopyInto ¶ added in v0.5.0
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 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
type CIDRMatch ¶ added in v0.4.0
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 ¶ added in v0.6.0
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"` }
CORS holds the Cross-Origin Resource Sharing (CORS) policy for the route.
+k8s:deepcopy-gen=true
func (*CORS) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CORS.
func (*CORS) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConsistentHash ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (in *ConsistentHash) DeepCopy() *ConsistentHash
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHash.
func (*ConsistentHash) DeepCopyInto ¶ added in v0.6.0
func (in *ConsistentHash) DeepCopyInto(out *ConsistentHash)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DestinationEndpoint ¶ added in v0.6.0
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 ¶ added in v0.6.0
func NewDestEndpoint(host string, port uint32) *DestinationEndpoint
NewDestEndpoint creates a new DestinationEndpoint.
func (*DestinationEndpoint) DeepCopy ¶ added in v0.6.0
func (in *DestinationEndpoint) DeepCopy() *DestinationEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationEndpoint.
func (*DestinationEndpoint) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (d DestinationEndpoint) Validate() error
Validate the fields within the DestinationEndpoint structure
type DestinationSetting ¶ added in v0.6.0
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"` Endpoints []*DestinationEndpoint `json:"endpoints,omitempty" yaml:"endpoints,omitempty"` }
DestinationSetting holds the settings associated with the destination +kubebuilder:object:generate=true
func (*DestinationSetting) DeepCopy ¶ added in v0.6.0
func (in *DestinationSetting) DeepCopy() *DestinationSetting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationSetting.
func (*DestinationSetting) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 EnvoyPatchPolicy ¶ added in v0.5.0
type EnvoyPatchPolicy struct { EnvoyPatchPolicyStatus // JSONPatches are the JSON Patches that // are to be applied to generated Xds linked to the gateway. JSONPatches []*JSONPatchConfig `json:"jsonPatches,omitempty" yaml:"jsonPatches,omitempty"` }
EnvoyPatchPolicy defines the intermediate representation of the EnvoyPatchPolicy resource. +k8s:deepcopy-gen=true
func (*EnvoyPatchPolicy) DeepCopy ¶ added in v0.5.0
func (in *EnvoyPatchPolicy) DeepCopy() *EnvoyPatchPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyPatchPolicy.
func (*EnvoyPatchPolicy) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyPatchPolicy) DeepCopyInto(out *EnvoyPatchPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyPatchPolicyStatus ¶ added in v0.5.0
type EnvoyPatchPolicyStatus struct { Name string `json:"name,omitempty" yaml:"name"` Namespace string `json:"namespace,omitempty" yaml:"namespace"` // Status of the EnvoyPatchPolicy Status *egv1a1.EnvoyPatchPolicyStatus `json:"status,omitempty" yaml:"status,omitempty"` }
EnvoyPatchPolicyStatus defines the status reference for the EnvoyPatchPolicy resource +k8s:deepcopy-gen=true
func (*EnvoyPatchPolicyStatus) DeepCopy ¶ added in v0.5.0
func (in *EnvoyPatchPolicyStatus) DeepCopy() *EnvoyPatchPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyPatchPolicyStatus.
func (*EnvoyPatchPolicyStatus) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyPatchPolicyStatus) DeepCopyInto(out *EnvoyPatchPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalRateLimit ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *GlobalRateLimit) DeepCopy() *GlobalRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit.
func (*GlobalRateLimit) DeepCopyInto ¶ added in v0.3.0
func (in *GlobalRateLimit) DeepCopyInto(out *GlobalRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 certificate info. If omitted, the gateway will expose a plain text HTTP server. TLS []*TLSListenerConfig `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 upstream client as well as the downstream server are configured to serve HTTP2 traffic. IsHTTP2 bool `json:"isHTTP2" yaml:"isHTTP2"` // TCPKeepalive configuration for the listener TCPKeepalive *TCPKeepalive `json:"tcpKeepalive,omitempty" yaml:"tcpKeepalive,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"` // 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"` // Timeout is the time until which entire response is received from the upstream. Timeout *metav1.Duration `json:"timeout,omitempty" yaml:"timeout,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"` // 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"` }
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 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.
type InfraMetadata ¶
type InfraMetadata struct { // 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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *JSONAccessLog) DeepCopy() *JSONAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONAccessLog.
func (*JSONAccessLog) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *JSONPatchConfig) DeepCopy() *JSONPatchConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatchConfig.
func (*JSONPatchConfig) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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"` // Value is the new value of the path location. Value apiextensionsv1.JSON `json:"value" yaml:"value"` }
JSONPatchOperation defines the JSON Patch Operation as defined in https://datatracker.ietf.org/doc/html/rfc6902 +k8s:deepcopy-gen=true
func (*JSONPatchOperation) DeepCopy ¶ added in v0.5.0
func (in *JSONPatchOperation) DeepCopy() *JSONPatchOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONPatchOperation.
func (*JSONPatchOperation) DeepCopyInto ¶ added in v0.5.0
func (in *JSONPatchOperation) DeepCopyInto(out *JSONPatchOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JWT ¶ added in v0.6.0
type JWT struct { // Providers defines a list of JSON Web Token (JWT) authentication providers. Providers []egv1a1.JWTProvider `json:"providers,omitempty" yaml:"providers,omitempty"` }
JWT defines the schema for authenticating HTTP requests using JSON Web Tokens (JWT).
+k8s:deepcopy-gen=true
func (*JWT) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JWT.
func (*JWT) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeastRequest ¶ added in v0.6.0
type LeastRequest struct{}
LeastRequest load balancer settings +k8s:deepcopy-gen=true
func (*LeastRequest) DeepCopy ¶ added in v0.6.0
func (in *LeastRequest) DeepCopy() *LeastRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeastRequest.
func (*LeastRequest) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (in *LoadBalancer) DeepCopy() *LoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.
func (*LoadBalancer) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (l *LoadBalancer) Validate() error
Validate the fields within the LoadBalancer structure
type Metrics ¶ added in v0.6.0
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 ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.
func (*Metrics) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenTelemetryAccessLog ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *OpenTelemetryAccessLog) DeepCopy() *OpenTelemetryAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryAccessLog.
func (*OpenTelemetryAccessLog) DeepCopyInto ¶ added in v0.5.0
func (in *OpenTelemetryAccessLog) DeepCopyInto(out *OpenTelemetryAccessLog)
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) GetProxyConfig ¶ added in v0.3.0
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 { // 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"` }
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 Random ¶ added in v0.6.0
type Random struct{}
Random load balancer settings +k8s:deepcopy-gen=true
func (*Random) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Random.
func (*Random) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimit ¶ added in v0.3.0
type RateLimit struct { // Global rate limit settings. Global *GlobalRateLimit `json:"global,omitempty" yaml:"global,omitempty"` }
RateLimit holds the rate limiting configuration. +k8s:deepcopy-gen=true
func (*RateLimit) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.
func (*RateLimit) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitRule ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *RateLimitRule) DeepCopy() *RateLimitRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitRule.
func (*RateLimitRule) DeepCopyInto ¶ added in v0.3.0
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 ¶ added in v0.4.0
func (r *RateLimitRule) IsMatchSet() bool
type RateLimitUnit ¶ added in v0.3.0
type RateLimitUnit egv1a1.RateLimitUnit
type RateLimitValue ¶ added in v0.3.0
type RateLimitValue struct { // Requests are the number of requests that need to be rate limited. Requests uint `json:"requests" yaml:"requests"` // Unit of rate limiting. Unit RateLimitUnit `json:"unit" yaml:"unit"` }
RateLimitValue holds the +k8s:deepcopy-gen=true
func (*RateLimitValue) DeepCopy ¶ added in v0.3.0
func (in *RateLimitValue) DeepCopy() *RateLimitValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitValue.
func (*RateLimitValue) DeepCopyInto ¶ added in v0.3.0
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 RoundRobin ¶ added in v0.6.0
type RoundRobin struct{}
RoundRobin load balancer settings +k8s:deepcopy-gen=true
func (*RoundRobin) DeepCopy ¶ added in v0.6.0
func (in *RoundRobin) DeepCopy() *RoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoundRobin.
func (*RoundRobin) DeepCopyInto ¶ added in v0.6.0
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 ¶ added in v0.4.0
func (in *RouteDestination) DeepCopy() *RouteDestination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteDestination.
func (*RouteDestination) DeepCopyInto ¶ added in v0.4.0
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 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 TCPKeepalive ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (in *TCPKeepalive) DeepCopy() *TCPKeepalive
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPKeepalive.
func (*TCPKeepalive) DeepCopyInto ¶ added in v0.6.0
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 TLS ¶ added in v0.5.0
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 []*TLSListenerConfig `json:"terminate,omitempty" yaml:"terminate,omitempty"` }
TLS holds information for configuring TLS on a listener +k8s:deepcopy-gen=true
func (*TLS) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶ added in v0.5.0
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 TLSListenerConfig ¶
type TLSListenerConfig 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"` }
TLSListenerConfig holds the configuration for downstream TLS context. +k8s:deepcopy-gen=true
func (*TLSListenerConfig) DeepCopy ¶
func (in *TLSListenerConfig) DeepCopy() *TLSListenerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSListenerConfig.
func (*TLSListenerConfig) DeepCopyInto ¶
func (in *TLSListenerConfig) DeepCopyInto(out *TLSListenerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TLSListenerConfig) Validate ¶
func (t TLSListenerConfig) Validate() error
Validate the fields within the TLSListenerConfig structure
type TextAccessLog ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *TextAccessLog) DeepCopy() *TextAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TextAccessLog.
func (*TextAccessLog) DeepCopyInto ¶ added in v0.5.0
func (in *TextAccessLog) DeepCopyInto(out *TextAccessLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tracing ¶ added in v0.5.0
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 ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing.
func (*Tracing) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPListener ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *UDPListener) DeepCopy() *UDPListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPListener.
func (*UDPListener) DeepCopyInto ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (h UDPListener) Validate() error
Validate the fields within the UDPListener structure
type URLRewrite ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *URLRewrite) DeepCopy() *URLRewrite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewrite.
func (*URLRewrite) DeepCopyInto ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (r URLRewrite) Validate() error
Validate the fields within the URLRewrite structure
type UnstructuredRef ¶ added in v0.4.0
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 Envoy 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 ¶ added in v0.4.0
func (in *UnstructuredRef) DeepCopy() *UnstructuredRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnstructuredRef.
func (*UnstructuredRef) DeepCopyInto ¶ added in v0.4.0
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"` // EnvoyPatchPolicies is the intermediate representation of the EnvoyPatchPolicy resource EnvoyPatchPolicies []*EnvoyPatchPolicy `json:"envoyPatchPolicies,omitempty" yaml:"envoyPatchPolicies,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 ¶ added in v0.6.0
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 ¶ added in v0.3.0
func (x Xds) GetUDPListener(name string) *UDPListener