Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 contains API Schema definitions for the policy.openservicemesh.io v1alpha1 API group
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type BackendSpec
- type ConnectionSettingsSpec
- type Egress
- type EgressList
- type EgressSourceSpec
- type EgressSpec
- type EnvoyAccessLogConfig
- type EnvoyAccessLogOpenTelemetryConfig
- type ExtensionServiceRef
- type GenericKeyDescriptorEntry
- type GlobalRateLimitSpec
- type HTTPConnectionSettings
- type HTTPGlobalPerRouteRateLimitSpec
- type HTTPGlobalRateLimitDescriptor
- type HTTPGlobalRateLimitDescriptorEntry
- type HTTPGlobalRateLimitSpec
- type HTTPHeaderMatcher
- type HTTPHeaderValue
- type HTTPLocalRateLimitSpec
- type HTTPPerRouteRateLimitSpec
- type HTTPRouteSpec
- type HeaderValueMatchDescriptorEntry
- type IngressBackend
- type IngressBackendList
- type IngressBackendSpec
- type IngressBackendStatus
- type IngressSourceSpec
- type LocalRateLimitSpec
- type PortSpec
- type RateLimitServiceSpec
- type RateLimitSpec
- type RemoteAddressDescriptorEntry
- type RequestHeaderDescriptorEntry
- type Retry
- type RetryList
- type RetryPolicySpec
- type RetrySpec
- type RetrySrcDstSpec
- type TCPConnectionSettings
- type TCPGlobalRateLimitSpec
- type TCPLocalRateLimitSpec
- type TCPRateLimitDescriptor
- type TCPRateLimitDescriptorEntry
- type TLSSpec
- type Telemetry
- type TelemetryList
- type TelemetrySpec
- type TelemetryStatus
- type UpstreamTrafficSetting
- type UpstreamTrafficSettingList
- type UpstreamTrafficSettingSpec
- type UpstreamTrafficSettingStatus
Constants ¶
const ( // KindService is the kind corresponding to a Service resource. KindService = "Service" // KindAuthenticatedPrincipal is the kind corresponding to an authenticated principal. KindAuthenticatedPrincipal = "AuthenticatedPrincipal" // KindIPRange is the kind corresponding to an IP address range represented in CIDR notation. KindIPRange = "IPRange" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register API objects in the policy.openservicemesh.io v1alpha1 API group SchemeGroupVersion = schema.GroupVersion{ Group: "policy.openservicemesh.io", Version: "v1alpha1", } // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds all Resources to the Scheme AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type BackendSpec ¶
type BackendSpec struct { // Name defines the name of the backend. Name string `json:"name"` // Port defines the specification for the backend's port. Port PortSpec `json:"port"` // TLS defines the specification for the backend's TLS configuration. // +optional TLS TLSSpec `json:"tls,omitempty"` }
BackendSpec is the type used to represent a Backend specified in the IngressBackend policy specification.
func (*BackendSpec) DeepCopy ¶
func (in *BackendSpec) DeepCopy() *BackendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendSpec.
func (*BackendSpec) DeepCopyInto ¶
func (in *BackendSpec) DeepCopyInto(out *BackendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionSettingsSpec ¶
type ConnectionSettingsSpec struct { // TCP specifies the TCP level connection settings. // Applies to both TCP and HTTP connections. // +optional TCP *TCPConnectionSettings `json:"tcp,omitempty"` // HTTP specifies the HTTP level connection settings. // +optional HTTP *HTTPConnectionSettings `json:"http,omitempty"` }
ConnectionSettingsSpec defines the connection settings for an upstream host.
func (*ConnectionSettingsSpec) DeepCopy ¶
func (in *ConnectionSettingsSpec) DeepCopy() *ConnectionSettingsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionSettingsSpec.
func (*ConnectionSettingsSpec) DeepCopyInto ¶
func (in *ConnectionSettingsSpec) DeepCopyInto(out *ConnectionSettingsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Egress ¶
type Egress struct { // Object's type metadata metav1.TypeMeta `json:",inline"` // Object's metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the Egress policy specification // +optional Spec EgressSpec `json:"spec,omitempty"` }
Egress is the type used to represent an Egress traffic policy. An Egress policy allows applications to access endpoints external to the service mesh or cluster based on the specified rules in the policy. +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Egress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Egress.
func (*Egress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Egress) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EgressList ¶
type EgressList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Egress `json:"items"` }
EgressList defines the list of Egress objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*EgressList) DeepCopy ¶
func (in *EgressList) DeepCopy() *EgressList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressList.
func (*EgressList) DeepCopyInto ¶
func (in *EgressList) DeepCopyInto(out *EgressList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressList) DeepCopyObject ¶
func (in *EgressList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EgressSourceSpec ¶
type EgressSourceSpec struct { // Kind defines the kind for the source in the Egress policy, ex. ServiceAccount. Kind string `json:"kind"` // Name defines the name of the source for the given Kind. Name string `json:"name"` // Namespace defines the namespace for the given source. Namespace string `json:"namespace"` }
EgressSourceSpec is the type used to represent the Source in the list of Sources specified in an Egress policy specification.
func (*EgressSourceSpec) DeepCopy ¶
func (in *EgressSourceSpec) DeepCopy() *EgressSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressSourceSpec.
func (*EgressSourceSpec) DeepCopyInto ¶
func (in *EgressSourceSpec) DeepCopyInto(out *EgressSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EgressSpec ¶
type EgressSpec struct { // Sources defines the list of sources the Egress policy applies to. Sources []EgressSourceSpec `json:"sources"` // Hosts defines the list of external hosts the Egress policy will allow // access to. // // - For HTTP traffic, the HTTP Host/Authority header is matched against the // list of Hosts specified. // // - For HTTPS traffic, the Server Name Indication (SNI) indicated by the client // in the TLS handshake is matched against the list of Hosts specified. // // - For non-HTTP(s) based protocols, the Hosts field is ignored. // +optional Hosts []string `json:"hosts,omitempty"` // IPAddresses defines the list of external IP address ranges the Egress policy // applies to. The destination IP address of the traffic is matched against the // list of IPAddresses specified as a CIDR range. // +optional IPAddresses []string `json:"ipAddresses,omitempty"` // Ports defines the list of ports the Egress policy is applies to. // The destination port of the traffic is matched against the list of Ports specified. Ports []PortSpec `json:"ports"` // Matches defines the list of object references the Egress policy should match on. // +optional Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"` }
EgressSpec is the type used to represent the Egress policy specification.
func (*EgressSpec) DeepCopy ¶
func (in *EgressSpec) DeepCopy() *EgressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressSpec.
func (*EgressSpec) DeepCopyInto ¶
func (in *EgressSpec) DeepCopyInto(out *EgressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyAccessLogConfig ¶
type EnvoyAccessLogConfig struct { // Format defines the Envoy access log format. // The format can either be unstructured or structured (e.g. JSON). // Refer to https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#format-strings // regarding how a format string can be specified. // +optional Format string `json:"format,omitempty"` // OpenTelemetry defines the OpenTelemetry configuration used to export the // Envoy access logs to an OpenTelemetry collector. // +optional OpenTelemetry *EnvoyAccessLogOpenTelemetryConfig `json:"openTelemetry,omitempty"` }
EnvoyAccessLogConfig defines the Envoy access log configuration.
func (*EnvoyAccessLogConfig) DeepCopy ¶
func (in *EnvoyAccessLogConfig) DeepCopy() *EnvoyAccessLogConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyAccessLogConfig.
func (*EnvoyAccessLogConfig) DeepCopyInto ¶
func (in *EnvoyAccessLogConfig) DeepCopyInto(out *EnvoyAccessLogConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyAccessLogOpenTelemetryConfig ¶
type EnvoyAccessLogOpenTelemetryConfig struct { // ExtensionService defines the referenence to ExtensionService resource // corresponding to the OpenTelemetry collector the access log should be exported to. ExtensionService ExtensionServiceRef `json:"extensionService"` // Attributes defines key-value pairs as additional metadata corresponding access log record. // +optional Attributes map[string]string `json:"attributes,omitempty"` }
EnvoyAccessLogOpenTelemetryConfig defines the Envoy access log OpenTelemetry configuration.
func (*EnvoyAccessLogOpenTelemetryConfig) DeepCopy ¶
func (in *EnvoyAccessLogOpenTelemetryConfig) DeepCopy() *EnvoyAccessLogOpenTelemetryConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyAccessLogOpenTelemetryConfig.
func (*EnvoyAccessLogOpenTelemetryConfig) DeepCopyInto ¶
func (in *EnvoyAccessLogOpenTelemetryConfig) DeepCopyInto(out *EnvoyAccessLogOpenTelemetryConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionServiceRef ¶
type ExtensionServiceRef struct { // Namespace defines the namespaces of the ExtensionService resource. Namespace string `json:"namespace"` // Name defines the name of the ExtensionService resource. Name string `json:"name"` }
ExtensionServiceRef defines the namespace and name of the ExtensionService resource.
func (*ExtensionServiceRef) DeepCopy ¶
func (in *ExtensionServiceRef) DeepCopy() *ExtensionServiceRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionServiceRef.
func (*ExtensionServiceRef) DeepCopyInto ¶
func (in *ExtensionServiceRef) DeepCopyInto(out *ExtensionServiceRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericKeyDescriptorEntry ¶
type GenericKeyDescriptorEntry struct { // Value defines the descriptor entry's value. Value string `json:"value"` // Key defines the descriptor entry's key. // Defaults to 'generic_key'. // +optional Key string `json:"key,omitempty"` }
GenericKeyDescriptorEntry defines a descriptor entry with a static key-value pair.
func (*GenericKeyDescriptorEntry) DeepCopy ¶
func (in *GenericKeyDescriptorEntry) DeepCopy() *GenericKeyDescriptorEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericKeyDescriptorEntry.
func (*GenericKeyDescriptorEntry) DeepCopyInto ¶
func (in *GenericKeyDescriptorEntry) DeepCopyInto(out *GenericKeyDescriptorEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalRateLimitSpec ¶
type GlobalRateLimitSpec struct { // TCP defines the global rate limiting specification at the network // level. This has the ultimate effect of rate limiting connections // per unit of time that arrive at the upstream host. // +optional TCP *TCPGlobalRateLimitSpec `json:"tcp,omitempty"` // HTTP defines the global rate limiting specification for HTTP traffic. // This has the ultimate effect of rate limiting HTTP requests // per unit of time that arrive at the upstream host. // +optional HTTP *HTTPGlobalRateLimitSpec `json:"http,omitempty"` }
GlobalRateLimitSpec defines the global rate limiting specification for the upstream host.
func (*GlobalRateLimitSpec) DeepCopy ¶
func (in *GlobalRateLimitSpec) DeepCopy() *GlobalRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitSpec.
func (*GlobalRateLimitSpec) DeepCopyInto ¶
func (in *GlobalRateLimitSpec) DeepCopyInto(out *GlobalRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPConnectionSettings ¶
type HTTPConnectionSettings struct { // MaxRequests specifies the maximum number of parallel requests // allowed to the upstream host. // Defaults to 4294967295 (2^32 - 1) if not specified. // +optional MaxRequests *uint32 `json:"maxRequests,omitempty"` // MaxRequestsPerConnection specifies the maximum number of requests // per connection allowed to the upstream host. // Defaults to unlimited if not specified. // +optional MaxRequestsPerConnection *uint32 `json:"maxRequestsPerConnection,omitempty"` // MaxPendingRequests specifies the maximum number of pending HTTP // requests allowed to the upstream host. For HTTP/2 connections, // if `maxRequestsPerConnection` is not configured, all requests will // be multiplexed over the same connection so this circuit breaker // will only be hit when no connection is already established. // Defaults to 4294967295 (2^32 - 1) if not specified. // +optional MaxPendingRequests *uint32 `json:"maxPendingRequests,omitempty"` // MaxRetries specifies the maximum number of parallel retries // allowed to the upstream host. // Defaults to 4294967295 (2^32 - 1) if not specified. // +optional MaxRetries *uint32 `json:"maxRetries,omitempty"` }
HTTPConnectionSettings defines the HTTP connection settings for an upstream host.
func (*HTTPConnectionSettings) DeepCopy ¶
func (in *HTTPConnectionSettings) DeepCopy() *HTTPConnectionSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPConnectionSettings.
func (*HTTPConnectionSettings) DeepCopyInto ¶
func (in *HTTPConnectionSettings) DeepCopyInto(out *HTTPConnectionSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPGlobalPerRouteRateLimitSpec ¶
type HTTPGlobalPerRouteRateLimitSpec struct { // Descriptors defines the list of rate limit descriptors to use // in the rate limit service request. Descriptors []HTTPGlobalRateLimitDescriptor `json:"descriptors"` }
HTTPGlobalPerRouteRateLimitSpec defines the global rate limiting specification applied per HTTP route.
func (*HTTPGlobalPerRouteRateLimitSpec) DeepCopy ¶
func (in *HTTPGlobalPerRouteRateLimitSpec) DeepCopy() *HTTPGlobalPerRouteRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPGlobalPerRouteRateLimitSpec.
func (*HTTPGlobalPerRouteRateLimitSpec) DeepCopyInto ¶
func (in *HTTPGlobalPerRouteRateLimitSpec) DeepCopyInto(out *HTTPGlobalPerRouteRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPGlobalRateLimitDescriptor ¶
type HTTPGlobalRateLimitDescriptor struct { // Entries defines the list of rate limit descriptor entries. Entries []HTTPGlobalRateLimitDescriptorEntry `json:"entries,omitempty"` }
HTTPGlobalRateLimitDescriptor defines rate limit descriptor to use in the rate limit service request for HTTP requests.
func (*HTTPGlobalRateLimitDescriptor) DeepCopy ¶
func (in *HTTPGlobalRateLimitDescriptor) DeepCopy() *HTTPGlobalRateLimitDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPGlobalRateLimitDescriptor.
func (*HTTPGlobalRateLimitDescriptor) DeepCopyInto ¶
func (in *HTTPGlobalRateLimitDescriptor) DeepCopyInto(out *HTTPGlobalRateLimitDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPGlobalRateLimitDescriptorEntry ¶
type HTTPGlobalRateLimitDescriptorEntry struct { // GenericKey defines a descriptor entry with a static key-value pair. // +optional GenericKey *GenericKeyDescriptorEntry `json:"genericKey,omitempty"` // RemoteAddress defines a descriptor entry with with key 'remote_address' // and value equal to the client's IP address derived from the x-forwarded-for header. // +optional RemoteAddress *RemoteAddressDescriptorEntry `json:"remoteAddress,omitempty"` // RequestHeader defines a descriptor entry that is generated only when the // request header matches the given header name. The value of the descriptor // entry is derived from the value of the header present in the request. // +optional RequestHeader *RequestHeaderDescriptorEntry `json:"requestHeader,omitempty"` // HeaderValueMatch defines a descriptor entry that is generated when the // request header matches the given HTTP header match criteria. // +optional HeaderValueMatch *HeaderValueMatchDescriptorEntry `json:"headerValueMatch,omitempty"` }
HTTPGlobalRateLimitDescriptorEntry defines the rate limit descriptor entry to use in the rate limit service request for HTTP requests. Only one of GenericKey, RemoteAddress, RequestHeader, HeaderValueMatch may be set.
func (*HTTPGlobalRateLimitDescriptorEntry) DeepCopy ¶
func (in *HTTPGlobalRateLimitDescriptorEntry) DeepCopy() *HTTPGlobalRateLimitDescriptorEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPGlobalRateLimitDescriptorEntry.
func (*HTTPGlobalRateLimitDescriptorEntry) DeepCopyInto ¶
func (in *HTTPGlobalRateLimitDescriptorEntry) DeepCopyInto(out *HTTPGlobalRateLimitDescriptorEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPGlobalRateLimitSpec ¶
type HTTPGlobalRateLimitSpec struct { // RateLimitService defines the rate limiting service to use // as a global rate limiter. RateLimitService RateLimitServiceSpec `json:"rateLimitService"` // Domain defines a container for a set of rate limits. // All domains known to the Ratelimit service must be globally unique. // They serve as a way to have different rate limit configurations that // don't conflict. Domain string `json:"domain"` // Descriptors defines the list of rate limit descriptors to use // in the rate limit service request. // +optional Descriptors []HTTPGlobalRateLimitDescriptor `json:"descriptors,omitempty"` // Timeout defines the timeout interval for calls to the rate limit service. // Defaults to 20ms. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // FailOpen defines whether to allow traffic in case of // communication failure between rate limiting service and the proxy. // Defaults to true. // +optional FailOpen *bool `json:"failOpen,omitempty"` // EnableXRateLimitHeaders defines whether to include the headers // X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset on // responses to clients when the rate limit service is consulted for a request. // Defaults to false. // +optional EnableXRateLimitHeaders *bool `json:"enableXRateLimitHeaders,omitempty"` // ResponseStatusCode defines the HTTP status code to use for responses // to rate limited requests. Code must be in the 400-599 (inclusive) // error range. If not specified, a default of 429 (Too Many Requests) is used. // See https://www.envoyproxy.io/docs/envoy/latest/api-v3/type/v3/http_status.proto#enum-type-v3-statuscode // for the list of HTTP status codes supported by Envoy. // +optional ResponseStatusCode uint32 `json:"responseStatusCode,omitempty"` }
HTTPGlobalRateLimitSpec defines the global rate limiting specification for HTTP requests.
func (*HTTPGlobalRateLimitSpec) DeepCopy ¶
func (in *HTTPGlobalRateLimitSpec) DeepCopy() *HTTPGlobalRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPGlobalRateLimitSpec.
func (*HTTPGlobalRateLimitSpec) DeepCopyInto ¶
func (in *HTTPGlobalRateLimitSpec) DeepCopyInto(out *HTTPGlobalRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPHeaderMatcher ¶
type HTTPHeaderMatcher struct { // Name defines the name of the header to match. Name string `json:"name"` // Exact defines the exact value to match. // +optional Exact string `json:"exact,omitempty"` // Prefix defines the prefix value to match. // +optional Prefix string `json:"prefix,omitempty"` // Suffix defines the suffix value to match. // +optional Suffix string `json:"suffix,omitempty"` // Regex defines the regex value to match. // +optional Regex string `json:"regex,omitempty"` // Contains defines the substring value to match. // +optional Contains string `json:"contains,omitempty"` // Present defines whether the request matches the criteria // when the header is present. If set to false, header match // will be performed based on whether the header is absent. // +optional Present *bool `json:"present,omitempty"` }
HTTPHeaderMatcher defines the HTTP header match criteria. Only one of Exact, Prefix, Suffix, Regex, Contains, Present may be set.
func (*HTTPHeaderMatcher) DeepCopy ¶
func (in *HTTPHeaderMatcher) DeepCopy() *HTTPHeaderMatcher
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeaderMatcher.
func (*HTTPHeaderMatcher) DeepCopyInto ¶
func (in *HTTPHeaderMatcher) DeepCopyInto(out *HTTPHeaderMatcher)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPHeaderValue ¶
type HTTPHeaderValue struct { // Name defines the name of the HTTP header. Name string `json:"name"` // Value defines the value of the header corresponding to the name key. Value string `json:"value"` }
HTTPHeaderValue defines an HTTP header name/value pair
func (*HTTPHeaderValue) DeepCopy ¶
func (in *HTTPHeaderValue) DeepCopy() *HTTPHeaderValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeaderValue.
func (*HTTPHeaderValue) DeepCopyInto ¶
func (in *HTTPHeaderValue) DeepCopyInto(out *HTTPHeaderValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPLocalRateLimitSpec ¶
type HTTPLocalRateLimitSpec struct { // Requests defines the number of requests allowed // per unit of time before rate limiting occurs. Requests uint32 `json:"requests"` // Unit defines the period of time within which requests // over the limit will be rate limited. // Valid values are "second", "minute" and "hour". Unit string `json:"unit"` // Burst defines the number of requests above the baseline // rate that are allowed in a short period of time. // +optional Burst uint32 `json:"burst,omitempty"` // ResponseStatusCode defines the HTTP status code to use for responses // to rate limited requests. Code must be in the 400-599 (inclusive) // error range. If not specified, a default of 429 (Too Many Requests) is used. // See https://www.envoyproxy.io/docs/envoy/latest/api-v3/type/v3/http_status.proto#enum-type-v3-statuscode // for the list of HTTP status codes supported by Envoy. // +optional ResponseStatusCode uint32 `json:"responseStatusCode,omitempty"` // ResponseHeadersToAdd defines the list of HTTP headers that should be // added to each response for requests that have been rate limited. // +optional ResponseHeadersToAdd []HTTPHeaderValue `json:"responseHeadersToAdd,omitempty"` }
HTTPLocalRateLimitSpec defines the local rate limiting specification for the upstream host at the HTTP level.
func (*HTTPLocalRateLimitSpec) DeepCopy ¶
func (in *HTTPLocalRateLimitSpec) DeepCopy() *HTTPLocalRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPLocalRateLimitSpec.
func (*HTTPLocalRateLimitSpec) DeepCopyInto ¶
func (in *HTTPLocalRateLimitSpec) DeepCopyInto(out *HTTPLocalRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPPerRouteRateLimitSpec ¶
type HTTPPerRouteRateLimitSpec struct { // Local defines the local rate limiting specification // applied per HTTP route. Local *HTTPLocalRateLimitSpec `json:"local,omitempty"` // Global defines the global rate limiting specification // applied per HTTP route. Global *HTTPGlobalPerRouteRateLimitSpec `json:"global,omitempty"` }
HTTPPerRouteRateLimitSpec defines the rate limiting specification per HTTP route.
func (*HTTPPerRouteRateLimitSpec) DeepCopy ¶
func (in *HTTPPerRouteRateLimitSpec) DeepCopy() *HTTPPerRouteRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPPerRouteRateLimitSpec.
func (*HTTPPerRouteRateLimitSpec) DeepCopyInto ¶
func (in *HTTPPerRouteRateLimitSpec) DeepCopyInto(out *HTTPPerRouteRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPRouteSpec ¶
type HTTPRouteSpec struct { // Path defines the HTTP path. Path string `json:"path"` // RateLimit defines the HTTP rate limiting specification for // the specified HTTP route. RateLimit *HTTPPerRouteRateLimitSpec `json:"rateLimit,omitempty"` }
HTTPRouteSpec defines the settings correspondng to an HTTP route
func (*HTTPRouteSpec) DeepCopy ¶
func (in *HTTPRouteSpec) DeepCopy() *HTTPRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteSpec.
func (*HTTPRouteSpec) DeepCopyInto ¶
func (in *HTTPRouteSpec) DeepCopyInto(out *HTTPRouteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HeaderValueMatchDescriptorEntry ¶
type HeaderValueMatchDescriptorEntry struct { // Value defines the descriptor entry's value. Value string `json:"value"` // Headers defines the list of HTTP header match criteria. Headers []HTTPHeaderMatcher `json:"headers"` // Key defines the descriptor entry's key. // Defaults to 'header_match'. // +optional Key string `json:"key,omitempty"` // ExpectMatch defines whether the request must match the given // match criteria for the descriptor entry to be generated. // If set to false, a descriptor entry will be generated when the // request does not match the match criteria. // Defaults to true. // +optional ExpectMatch *bool `json:"expectMatch,omitempty"` }
HeaderValueMatchDescriptorEntry defines the descriptor entry that is generated when the request header matches the given HTTP header match criteria.
func (*HeaderValueMatchDescriptorEntry) DeepCopy ¶
func (in *HeaderValueMatchDescriptorEntry) DeepCopy() *HeaderValueMatchDescriptorEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderValueMatchDescriptorEntry.
func (*HeaderValueMatchDescriptorEntry) DeepCopyInto ¶
func (in *HeaderValueMatchDescriptorEntry) DeepCopyInto(out *HeaderValueMatchDescriptorEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressBackend ¶
type IngressBackend struct { // Object's type metadata metav1.TypeMeta `json:",inline"` // Object's metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the Ingress backend policy specification // +optional Spec IngressBackendSpec `json:"spec,omitempty"` // Status is the status of the IngressBackend configuration. // +optional Status IngressBackendStatus `json:"status,omitempty"` }
IngressBackend is the type used to represent an Ingress backend policy. An Ingress backend policy authorizes one or more backends to accept ingress traffic from one or more sources. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*IngressBackend) DeepCopy ¶
func (in *IngressBackend) DeepCopy() *IngressBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackend.
func (*IngressBackend) DeepCopyInto ¶
func (in *IngressBackend) DeepCopyInto(out *IngressBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressBackend) DeepCopyObject ¶
func (in *IngressBackend) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressBackendList ¶
type IngressBackendList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []IngressBackend `json:"items"` }
IngressBackendList defines the list of IngressBackend objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*IngressBackendList) DeepCopy ¶
func (in *IngressBackendList) DeepCopy() *IngressBackendList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackendList.
func (*IngressBackendList) DeepCopyInto ¶
func (in *IngressBackendList) DeepCopyInto(out *IngressBackendList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressBackendList) DeepCopyObject ¶
func (in *IngressBackendList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressBackendSpec ¶
type IngressBackendSpec struct { // Backends defines the list of backends the IngressBackend policy applies to. Backends []BackendSpec `json:"backends"` // Sources defines the list of sources the IngressBackend policy applies to. Sources []IngressSourceSpec `json:"sources"` // Matches defines the list of object references the IngressBackend policy should match on. // +optional Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"` }
IngressBackendSpec is the type used to represent the IngressBackend policy specification.
func (*IngressBackendSpec) DeepCopy ¶
func (in *IngressBackendSpec) DeepCopy() *IngressBackendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackendSpec.
func (*IngressBackendSpec) DeepCopyInto ¶
func (in *IngressBackendSpec) DeepCopyInto(out *IngressBackendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressBackendStatus ¶
type IngressBackendStatus struct { // CurrentStatus defines the current status of an IngressBackend resource. // +optional CurrentStatus string `json:"currentStatus,omitempty"` // Reason defines the reason for the current status of an IngressBackend resource. // +optional Reason string `json:"reason,omitempty"` }
IngressBackendStatus is the type used to represent the status of an IngressBackend resource.
func (*IngressBackendStatus) DeepCopy ¶
func (in *IngressBackendStatus) DeepCopy() *IngressBackendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackendStatus.
func (*IngressBackendStatus) DeepCopyInto ¶
func (in *IngressBackendStatus) DeepCopyInto(out *IngressBackendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressSourceSpec ¶
type IngressSourceSpec struct { // Kind defines the kind for the source in the IngressBackend policy. // Must be one of: Service, AuthenticatedPrincipal, IPRange Kind string `json:"kind"` // Name defines the name of the source for the given Kind. Name string `json:"name"` // Namespace defines the namespace for the given source. // +optional Namespace string `json:"namespace,omitempty"` }
IngressSourceSpec is the type used to represent the Source in the list of Sources specified in an IngressBackend policy specification.
func (*IngressSourceSpec) DeepCopy ¶
func (in *IngressSourceSpec) DeepCopy() *IngressSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSourceSpec.
func (*IngressSourceSpec) DeepCopyInto ¶
func (in *IngressSourceSpec) DeepCopyInto(out *IngressSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalRateLimitSpec ¶
type LocalRateLimitSpec struct { // TCP defines the local rate limiting specification at the network // level. This is a token bucket rate limiter where each connection // consumes a single token. If the token is available, the connection // will be allowed. If no tokens are available, the connection will be // immediately closed. // +optional TCP *TCPLocalRateLimitSpec `json:"tcp,omitempty"` // HTTP defines the local rate limiting specification for HTTP traffic. // This is a token bucket rate limiter where each request consumes // a single token. If the token is available, the request will be // allowed. If no tokens are available, the request will receive the // configured rate limit status. HTTP *HTTPLocalRateLimitSpec `json:"http,omitempty"` }
LocalRateLimitSpec defines the local rate limiting specification for the upstream host.
func (*LocalRateLimitSpec) DeepCopy ¶
func (in *LocalRateLimitSpec) DeepCopy() *LocalRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimitSpec.
func (*LocalRateLimitSpec) DeepCopyInto ¶
func (in *LocalRateLimitSpec) DeepCopyInto(out *LocalRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortSpec ¶
type PortSpec struct { // Number defines the port number. Number int `json:"number"` // Protocol defines the protocol served by the port. Protocol string `json:"protocol"` }
PortSpec is the type used to represent the Port in the list of Ports specified in an Egress policy specification.
func (*PortSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortSpec.
func (*PortSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitServiceSpec ¶
type RateLimitServiceSpec struct { // Host defines the hostname of the rate limiting service. Host string `json:"host"` // Port defines the port number of the rate limiting service Port uint16 `json:"port"` }
RateLimitServiceSpec defines the Rate Limit Service specification.
func (*RateLimitServiceSpec) DeepCopy ¶
func (in *RateLimitServiceSpec) DeepCopy() *RateLimitServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitServiceSpec.
func (*RateLimitServiceSpec) DeepCopyInto ¶
func (in *RateLimitServiceSpec) DeepCopyInto(out *RateLimitServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitSpec ¶
type RateLimitSpec struct { // Local defines the local rate limiting specification // for the upstream host. // Local rate limiting is enforced directly by the upstream // host without any involvement of a global rate limiting service. // This is applied as a token bucket rate limiter. // +optional Local *LocalRateLimitSpec `json:"local,omitempty"` // Global defines the global rate limiting specification // for the upstream host. // Global rate limiting is enforced by an external rate // limiting service. // +optional Global *GlobalRateLimitSpec `json:"global,omitempty"` }
RateLimitSpec defines the rate limiting specification for the upstream host.
func (*RateLimitSpec) DeepCopy ¶
func (in *RateLimitSpec) DeepCopy() *RateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitSpec.
func (*RateLimitSpec) DeepCopyInto ¶
func (in *RateLimitSpec) DeepCopyInto(out *RateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteAddressDescriptorEntry ¶
type RemoteAddressDescriptorEntry struct{}
RemoteAddressDescriptorEntry defines a descriptor entry with key 'remote_address' and value equal to the client's IP address derived from the x-forwarded-for header.
func (*RemoteAddressDescriptorEntry) DeepCopy ¶
func (in *RemoteAddressDescriptorEntry) DeepCopy() *RemoteAddressDescriptorEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteAddressDescriptorEntry.
func (*RemoteAddressDescriptorEntry) DeepCopyInto ¶
func (in *RemoteAddressDescriptorEntry) DeepCopyInto(out *RemoteAddressDescriptorEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestHeaderDescriptorEntry ¶
type RequestHeaderDescriptorEntry struct { // Name defines the name of the header used to look up the descriptor entry's value. Name string `json:"name"` // Key defines the descriptor entry's key. Key string `json:"key"` }
RequestHeaderDescriptorEntry defines a descriptor entry that is generated only when the request header matches the given header name. The value of the descriptor entry is derived from the value of the header present in the request.
func (*RequestHeaderDescriptorEntry) DeepCopy ¶
func (in *RequestHeaderDescriptorEntry) DeepCopy() *RequestHeaderDescriptorEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderDescriptorEntry.
func (*RequestHeaderDescriptorEntry) DeepCopyInto ¶
func (in *RequestHeaderDescriptorEntry) DeepCopyInto(out *RequestHeaderDescriptorEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Retry ¶
type Retry struct { // Object's type metadata metav1.TypeMeta `json:",inline"` // Object's metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the Retry policy specification // +optional Spec RetrySpec `json:"spec,omitempty"` }
Retry is the type used to represent a Retry policy. A Retry policy authorizes retries to failed attempts for outbound traffic from one service source to one or more destination services. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
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.
func (*Retry) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RetryList ¶
type RetryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Retry `json:"items"` }
RetryList defines the list of Retry objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*RetryList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryList.
func (*RetryList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RetryList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RetryPolicySpec ¶
type RetryPolicySpec struct { // RetryOn defines the policies to retry on, delimited by comma. RetryOn string `json:"retryOn"` // PerTryTimeout defines the time allowed for a retry before it's considered a failed attempt. // +optional PerTryTimeout *metav1.Duration `json:"perTryTimeout"` // NumRetries defines the max number of retries to attempt. // +optional NumRetries *uint32 `json:"numRetries"` // RetryBackoffBaseInterval defines the base interval for exponential retry backoff. // +optional RetryBackoffBaseInterval *metav1.Duration `json:"retryBackoffBaseInterval"` }
RetryPolicySpec is the type used to represent the retry policy specified in the Retry policy specification.
func (*RetryPolicySpec) DeepCopy ¶
func (in *RetryPolicySpec) DeepCopy() *RetryPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicySpec.
func (*RetryPolicySpec) DeepCopyInto ¶
func (in *RetryPolicySpec) DeepCopyInto(out *RetryPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetrySpec ¶
type RetrySpec struct { // Source defines the source the Retry policy applies to. Source RetrySrcDstSpec `json:"source"` // Destinations defines the list of destinations the Retry policy applies to. Destinations []RetrySrcDstSpec `json:"destinations"` // RetryPolicy defines the retry policy the Retry policy applies. RetryPolicy RetryPolicySpec `json:"retryPolicy"` }
RetrySpec is the type used to represent the Retry policy specification.
func (*RetrySpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetrySpec.
func (*RetrySpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetrySrcDstSpec ¶
type RetrySrcDstSpec struct { // Kind defines the kind for the Src/Dst in the Retry policy. Kind string `json:"kind"` // Name defines the name of the Src/Dst for the given Kind. Name string `json:"name"` // Namespace defines the namespace for the given Src/Dst. Namespace string `json:"namespace"` }
RetrySrcDstSpec is the type used to represent the Destination in the list of Destinations and the Source specified in the Retry policy specification.
func (*RetrySrcDstSpec) DeepCopy ¶
func (in *RetrySrcDstSpec) DeepCopy() *RetrySrcDstSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetrySrcDstSpec.
func (*RetrySrcDstSpec) DeepCopyInto ¶
func (in *RetrySrcDstSpec) DeepCopyInto(out *RetrySrcDstSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPConnectionSettings ¶
type TCPConnectionSettings struct { // MaxConnections specifies the maximum number of TCP connections // allowed to the upstream host. // Defaults to 4294967295 (2^32 - 1) if not specified. // +optional MaxConnections *uint32 `json:"maxConnections,omitempty"` // ConnectTimeout specifies the TCP connection timeout. // Defaults to 5s if not specified. // +optional ConnectTimeout *metav1.Duration `json:"connectTimeout,omitempty"` }
TCPConnectionSettings defines the TCP connection settings for an upstream host.
func (*TCPConnectionSettings) DeepCopy ¶
func (in *TCPConnectionSettings) DeepCopy() *TCPConnectionSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPConnectionSettings.
func (*TCPConnectionSettings) DeepCopyInto ¶
func (in *TCPConnectionSettings) DeepCopyInto(out *TCPConnectionSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPGlobalRateLimitSpec ¶
type TCPGlobalRateLimitSpec struct { // RateLimitService defines the rate limiting service to use // as a global rate limiter. RateLimitService RateLimitServiceSpec `json:"rateLimitService"` // Domain defines a container for a set of rate limits. // All domains known to the Ratelimit service must be globally unique. // They serve as a way to have different rate limit configurations that // don't conflict. Domain string `json:"domain"` // Descriptors defines the list of rate limit descriptors to use // in the rate limit service request. Descriptors []TCPRateLimitDescriptor `json:"descriptors"` // Timeout defines the timeout interval for calls to the rate limit service. // Defaults to 20ms. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // FailOpen defines whether to allow traffic in case of // communication failure between rate limiting service and the proxy. // Defaults to true. // +optional FailOpen *bool `json:"failOpen,omitempty"` }
TCPGlobalRateLimitSpec defines the global rate limiting specification for TCP connections.
func (*TCPGlobalRateLimitSpec) DeepCopy ¶
func (in *TCPGlobalRateLimitSpec) DeepCopy() *TCPGlobalRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPGlobalRateLimitSpec.
func (*TCPGlobalRateLimitSpec) DeepCopyInto ¶
func (in *TCPGlobalRateLimitSpec) DeepCopyInto(out *TCPGlobalRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPLocalRateLimitSpec ¶
type TCPLocalRateLimitSpec struct { // Connections defines the number of connections allowed // per unit of time before rate limiting occurs. Connections uint32 `json:"connections"` // Unit defines the period of time within which connections // over the limit will be rate limited. // Valid values are "second", "minute" and "hour". Unit string `json:"unit"` // Burst defines the number of connections above the baseline // rate that are allowed in a short period of time. // +optional Burst uint32 `json:"burst,omitempty"` }
TCPLocalRateLimitSpec defines the local rate limiting specification for the upstream host at the TCP level.
func (*TCPLocalRateLimitSpec) DeepCopy ¶
func (in *TCPLocalRateLimitSpec) DeepCopy() *TCPLocalRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPLocalRateLimitSpec.
func (*TCPLocalRateLimitSpec) DeepCopyInto ¶
func (in *TCPLocalRateLimitSpec) DeepCopyInto(out *TCPLocalRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPRateLimitDescriptor ¶
type TCPRateLimitDescriptor struct { // Entries defines the list of rate limit descriptor entries. Entries []TCPRateLimitDescriptorEntry `json:"entries"` }
TCPRateLimitDescriptor defines the rate limit descriptor to use in the rate limit service request for TCP connections.
func (*TCPRateLimitDescriptor) DeepCopy ¶
func (in *TCPRateLimitDescriptor) DeepCopy() *TCPRateLimitDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRateLimitDescriptor.
func (*TCPRateLimitDescriptor) DeepCopyInto ¶
func (in *TCPRateLimitDescriptor) DeepCopyInto(out *TCPRateLimitDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPRateLimitDescriptorEntry ¶
type TCPRateLimitDescriptorEntry struct { // Key defines the key of the descriptor entry. Key string `json:"key"` // Value defines the value of the descriptor entry. Value string `json:"value"` }
TCPRateLimitDescriptorEntry defines the rate limit descriptor entry as a key-value pair to use in the rate limit service request for TCP connections.
func (*TCPRateLimitDescriptorEntry) DeepCopy ¶
func (in *TCPRateLimitDescriptorEntry) DeepCopy() *TCPRateLimitDescriptorEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRateLimitDescriptorEntry.
func (*TCPRateLimitDescriptorEntry) DeepCopyInto ¶
func (in *TCPRateLimitDescriptorEntry) DeepCopyInto(out *TCPRateLimitDescriptorEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSSpec ¶
type TLSSpec struct { // SkipClientCertValidation defines whether the backend should skip validating the // certificate presented by the client. SkipClientCertValidation bool `json:"skipClientCertValidation"` // SNIHosts defines the SNI hostnames that the backend allows the client to connect to. // +optional SNIHosts []string `json:"sniHosts,omitempty"` }
TLSSpec is the type used to represent the backend's TLS configuration.
func (*TLSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Telemetry ¶
type Telemetry struct { // Object's type metadata metav1.TypeMeta `json:",inline"` // Object's metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the UpstreamTrafficSetting policy specification // +optional Spec TelemetrySpec `json:"spec,omitempty"` // Status is the status of the TelemetryStatus resource. // +optional Status TelemetryStatus `json:"status,omitempty"` }
Telemetry defines the telemetry configuration for workloads in the mesh. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Telemetry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Telemetry.
func (*Telemetry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Telemetry) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TelemetryList ¶
type TelemetryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Telemetry `json:"items"` }
TelemetryList defines the list of TelemetryList objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*TelemetryList) DeepCopy ¶
func (in *TelemetryList) DeepCopy() *TelemetryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryList.
func (*TelemetryList) DeepCopyInto ¶
func (in *TelemetryList) DeepCopyInto(out *TelemetryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TelemetryList) DeepCopyObject ¶
func (in *TelemetryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TelemetrySpec ¶
type TelemetrySpec struct { // Selector defines the pod label selector for pods the Telemetry // configuration is applicable to. It selects pods with matching label keys // and values. If not specified, the configuration applies to all pods // in the Telemetry resource's namespace. // +optional Selector map[string]string `json:"selector,omitempty"` // AccessLog defines the Envoy access log configuration. // +optional AccessLog *EnvoyAccessLogConfig `json:"accessLog,omitempty"` }
TelemetrySpec defines the Telemetry specification applicable to workloads in the mesh.
func (*TelemetrySpec) DeepCopy ¶
func (in *TelemetrySpec) DeepCopy() *TelemetrySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetrySpec.
func (*TelemetrySpec) DeepCopyInto ¶
func (in *TelemetrySpec) DeepCopyInto(out *TelemetrySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TelemetryStatus ¶
type TelemetryStatus struct { // CurrentStatus defines the current status of a TelemetryStatus resource. // +optional CurrentStatus string `json:"currentStatus,omitempty"` // Reason defines the reason for the current status of a TelemetryStatus resource. // +optional Reason string `json:"reason,omitempty"` }
TelemetryStatus defines the status of a TelemetryStatus resource.
func (*TelemetryStatus) DeepCopy ¶
func (in *TelemetryStatus) DeepCopy() *TelemetryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryStatus.
func (*TelemetryStatus) DeepCopyInto ¶
func (in *TelemetryStatus) DeepCopyInto(out *TelemetryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpstreamTrafficSetting ¶
type UpstreamTrafficSetting struct { // Object's type metadata metav1.TypeMeta `json:",inline"` // Object's metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the UpstreamTrafficSetting policy specification // +optional Spec UpstreamTrafficSettingSpec `json:"spec,omitempty"` // Status is the status of the UpstreamTrafficSetting resource. // +optional Status UpstreamTrafficSettingStatus `json:"status,omitempty"` }
UpstreamTrafficSetting defines the settings applicable to traffic destined to an upstream host. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*UpstreamTrafficSetting) DeepCopy ¶
func (in *UpstreamTrafficSetting) DeepCopy() *UpstreamTrafficSetting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamTrafficSetting.
func (*UpstreamTrafficSetting) DeepCopyInto ¶
func (in *UpstreamTrafficSetting) DeepCopyInto(out *UpstreamTrafficSetting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UpstreamTrafficSetting) DeepCopyObject ¶
func (in *UpstreamTrafficSetting) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UpstreamTrafficSettingList ¶
type UpstreamTrafficSettingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []UpstreamTrafficSetting `json:"items"` }
UpstreamTrafficSettingList defines the list of UpstreamTrafficSetting objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*UpstreamTrafficSettingList) DeepCopy ¶
func (in *UpstreamTrafficSettingList) DeepCopy() *UpstreamTrafficSettingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamTrafficSettingList.
func (*UpstreamTrafficSettingList) DeepCopyInto ¶
func (in *UpstreamTrafficSettingList) DeepCopyInto(out *UpstreamTrafficSettingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UpstreamTrafficSettingList) DeepCopyObject ¶
func (in *UpstreamTrafficSettingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UpstreamTrafficSettingSpec ¶
type UpstreamTrafficSettingSpec struct { // Host the upstream traffic is directed to. // Must either be an FQDN corresponding to the upstream service // or the name of the upstream service. If only the service name // is specified, the FQDN is derived from the service name and // the namespace of the UpstreamTrafficSetting rule. Host string `json:"host"` // ConnectionSettings specifies the connection settings for traffic // directed to the upstream host. // +optional ConnectionSettings *ConnectionSettingsSpec `json:"connectionSettings,omitempty"` // RateLimit specifies the rate limit settings for the traffic // directed to the upstream host. // If HTTP rate limiting is specified, the rate limiting is applied // at the VirtualHost level applicable to all routes within the // VirtualHost. // +optional RateLimit *RateLimitSpec `json:"rateLimit,omitempty"` // HTTPRoutes defines the list of HTTP routes settings // for the upstream host. Settings are applied at a per // route level. // +optional HTTPRoutes []HTTPRouteSpec `json:"httpRoutes,omitempty"` }
UpstreamTrafficSettingSpec defines the upstream traffic setting specification.
func (*UpstreamTrafficSettingSpec) DeepCopy ¶
func (in *UpstreamTrafficSettingSpec) DeepCopy() *UpstreamTrafficSettingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamTrafficSettingSpec.
func (*UpstreamTrafficSettingSpec) DeepCopyInto ¶
func (in *UpstreamTrafficSettingSpec) DeepCopyInto(out *UpstreamTrafficSettingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpstreamTrafficSettingStatus ¶
type UpstreamTrafficSettingStatus struct { // CurrentStatus defines the current status of an UpstreamTrafficSetting resource. // +optional CurrentStatus string `json:"currentStatus,omitempty"` // Reason defines the reason for the current status of an UpstreamTrafficSetting resource. // +optional Reason string `json:"reason,omitempty"` }
UpstreamTrafficSettingStatus defines the status of an UpstreamTrafficSetting resource.
func (*UpstreamTrafficSettingStatus) DeepCopy ¶
func (in *UpstreamTrafficSettingStatus) DeepCopy() *UpstreamTrafficSettingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamTrafficSettingStatus.
func (*UpstreamTrafficSettingStatus) DeepCopyInto ¶
func (in *UpstreamTrafficSettingStatus) DeepCopyInto(out *UpstreamTrafficSettingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.