Documentation ¶
Overview ¶
Package v1 contains policy types for the GKE implementation of the Gateway API.
+kubebuilder:object:generate=true +groupName=networking.gke.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AutoCapacityDrain
- type CommonHTTPHealthCheck
- type CommonHealthCheck
- type ConnectionDraining
- type FailoverConfig
- type GCPBackendPolicy
- type GCPBackendPolicyConfig
- type GCPBackendPolicyList
- type GCPBackendPolicySpec
- type GCPBackendPolicyStatus
- type GCPGatewayPolicy
- type GCPGatewayPolicyConfig
- type GCPGatewayPolicyList
- type GCPGatewayPolicySpec
- type GCPGatewayPolicyStatus
- type GCPSessionAffinityFilter
- type GCPSessionAffinityFilterList
- type GCPSessionAffinityFilterStatus
- type GCPSessionAffinityPolicy
- type GCPSessionAffinityPolicyList
- type GCPSessionAffinityPolicySpec
- type GCPSessionAffinityPolicyStatus
- type GCPSessionAffinitySpec
- type GCPTrafficDistributionPolicy
- type GCPTrafficDistributionPolicyConfig
- type GCPTrafficDistributionPolicyList
- type GCPTrafficDistributionPolicySpec
- type GRPCHealthCheck
- type HTTP2HealthCheck
- type HTTPHealthCheck
- type HTTPSHealthCheck
- type HealthCheck
- type HealthCheckPolicy
- type HealthCheckPolicyConfig
- type HealthCheckPolicyList
- type HealthCheckPolicySpec
- type HealthCheckPolicyStatus
- type HealthCheckType
- type IdentityAwareProxyConfig
- type LocalPolicyTargetReference
- type LogConfig
- type LoggingConfig
- type Oauth2ClientSecret
- type PolicyAncestorStatus
- type PolicyConditionReason
- type PolicyConditionType
- type PolicyStatus
- type PortSpecificationType
- type ProxyHeaderType
- type SessionAffinityConfig
- type StatefulGeneratedCookieConfig
- type TCPHealthCheck
Constants ¶
const ( // PolicyConditionAttached indicates whether the policy has been accepted or rejected // by a targeted resource, and why. // // Possible reasons for this condition to be true are: // // * "Attached" // // Possible reasons for this condition to be False are: // // * "Conflicted" // PolicyConditionAttached PolicyConditionType = "Attached" // PolicyReasonAttached is used with the "Attached" condition when the policy has been // accepted by the targeted resource. PolicyReasonAttached PolicyConditionReason = "Attached" // PolicyReasonConflicted is used with the "Attached" condition when the policy has not // been accepted by a targeted resource because there is another policy that targets the same // resource and has higher precedence. PolicyReasonConflicted PolicyConditionReason = "Conflicted" // PolicyReasonInvalid is used with the "Attached" condition when the policy is syntactically // or semantically invalid. PolicyReasonInvalid PolicyConditionReason = "Invalid" // PolicyReasonTargetNotFound is used with the "Attached" condition when the policy is attached to // an invalid target resource PolicyReasonTargetNotFound PolicyConditionReason = "TargetNotFound" )
const GroupName = "networking.gke.io"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Deprecated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶ added in v1.1.0
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AutoCapacityDrain ¶ added in v1.3.0
type AutoCapacityDrain struct { // If set to 'True', backends in a certain (cluster, zone) will be // drained(considered to have 0 capacity) when less than 25% of the endpoints // there are healthy. Default to false. EnableAutoCapacityDrain *bool `json:"enableAutoCapacityDrain,omitempty"` }
AutoCapacityDrain contains configurations for auto draining.
type CommonHTTPHealthCheck ¶
type CommonHTTPHealthCheck struct { // Host is the value of the host header in the HTTP health check request. This // matches the RFC 1123 definition of a hostname with 1 notable exception that // numeric IP addresses are not allowed. // If not specified or left empty, the IP on behalf of which this health check is // performed will be used. // +kubebuilder:validation:MaxLength=2048 // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$` Host *string `json:"host,omitempty"` // The request path of the HTTP health check request. // If not specified or left empty, a default value of "/" is used. // +kubebuilder:validation:MaxLength=2048 // +kubebuilder:validation:Pattern=`\/[A-Za-z0-9\/\-._~%!?$&'()*+,;=:]*$` RequestPath *string `json:"requestPath,omitempty"` // Specifies the type of proxy header to append before sending data to the backend, // either NONE or PROXY_V1. If not specified, this defaults to NONE. // +kubebuilder:validation:Enum=NONE;PROXY_V1 ProxyHeader *ProxyHeaderType `json:"proxyHeader,omitempty"` // The string to match anywhere in the first 1024 bytes of the response body. // If not specified or left empty, the status code determines health. // The response data can only be ASCII. // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:validation:Pattern=[\x00-\xFF]+ Response *string `json:"response,omitempty"` }
CommonHTTPHealthCheck holds all the fields that are common across all HTTP health checks.
func (*CommonHTTPHealthCheck) DeepCopy ¶
func (in *CommonHTTPHealthCheck) DeepCopy() *CommonHTTPHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonHTTPHealthCheck.
func (*CommonHTTPHealthCheck) DeepCopyInto ¶
func (in *CommonHTTPHealthCheck) DeepCopyInto(out *CommonHTTPHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonHealthCheck ¶
type CommonHealthCheck struct { // Specifies how port is selected for health checking, can be one of following values: // // USE_FIXED_PORT: The port number in port is used for health checking. // USE_NAMED_PORT: The portName is used for health checking. // USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint // is used for health checking. For other backends, the port or named port specified in the // Backend Service is used for health checking. // // If not specified, Protocol health check follows behavior specified in port and portName fields. // If neither Port nor PortName is specified, this defaults to USE_SERVING_PORT. // +unionDiscriminator // +kubebuilder:validation:Enum=USE_FIXED_PORT;USE_NAMED_PORT;USE_SERVING_PORT PortSpecification *PortSpecificationType `json:"portSpecification,omitempty"` // The TCP port number for the health check request. Valid values are 1 through 65535. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +optional Port *int64 `json:"port,omitempty"` // Port name as defined in InstanceGroup#NamedPort#name. // If both port and portName are defined, port takes precedence. // +optional // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=[a-z]([-a-z0-9]*[a-z0-9])? PortName *string `json:"portName,omitempty"` }
CommonHealthCheck holds all the fields that are common across all protocol health checks. +union
func (*CommonHealthCheck) DeepCopy ¶
func (in *CommonHealthCheck) DeepCopy() *CommonHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonHealthCheck.
func (*CommonHealthCheck) DeepCopyInto ¶
func (in *CommonHealthCheck) DeepCopyInto(out *CommonHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionDraining ¶
type ConnectionDraining struct { // DrainingTimeoutSec is a BackendService parameter. // It is used during removal of VMs from instance groups. This guarantees that for // the specified time all existing connections to a VM will remain untouched, // but no new connections will be accepted. Set timeout to zero to disable // connection draining. Enable the feature by specifying a timeout of up to // one hour. If the field is omitted, a default value (0s) will be used. // See https://cloud.google.com/compute/docs/reference/rest/v1/backendServices // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=3600 DrainingTimeoutSec *int64 `json:"drainingTimeoutSec,omitempty"` }
ConnectionDraining contains configuration for connection draining
func (*ConnectionDraining) DeepCopy ¶
func (in *ConnectionDraining) DeepCopy() *ConnectionDraining
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionDraining.
func (*ConnectionDraining) DeepCopyInto ¶
func (in *ConnectionDraining) DeepCopyInto(out *ConnectionDraining)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailoverConfig ¶ added in v1.3.0
type FailoverConfig struct { // The percentage threshold that a load balancer will begin to send traffic // to failover backends. When not specified, the dataplane uses its own // builtin default value. For Envoy the default value is 70. Proxyless gRPC // defaults to 50. // // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 FailoverHealthThreshold *int32 `json:"failoverHealthThreshold,omitempty"` }
FailoverConfig contains configurations for failover behaviors.
type GCPBackendPolicy ¶
type GCPBackendPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state of GCPBackendPolicy. Spec GCPBackendPolicySpec `json:"spec"` // Status defines the current state of GCPBackendPolicy. Status GCPBackendPolicyStatus `json:"status,omitempty"` }
GCPBackendPolicy provides a way to apply LoadBalancer policy configuration with the GKE implementation of the Gateway API.
func (*GCPBackendPolicy) DeepCopy ¶
func (in *GCPBackendPolicy) DeepCopy() *GCPBackendPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPBackendPolicy.
func (*GCPBackendPolicy) DeepCopyInto ¶
func (in *GCPBackendPolicy) DeepCopyInto(out *GCPBackendPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPBackendPolicy) DeepCopyObject ¶
func (in *GCPBackendPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPBackendPolicyConfig ¶
type GCPBackendPolicyConfig struct { Logging *LoggingConfig `json:"logging,omitempty"` SessionAffinity *SessionAffinityConfig `json:"sessionAffinity,omitempty"` ConnectionDraining *ConnectionDraining `json:"connectionDraining,omitempty"` // TimeoutSec is a BackendService parameter. // See https://cloud.google.com/compute/docs/reference/rest/v1/backendServices. // If the field is omitted, a default value (30s) will be used. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=2147483647 TimeoutSec *int64 `json:"timeoutSec,omitempty"` // SecurityPolicy is a reference to a GCP Cloud Armor SecurityPolicy resource. // +optional SecurityPolicy *string `json:"securityPolicy,omitempty"` // IAP contains the configurations for Identity-Aware Proxy. // See https://cloud.google.com/compute/docs/reference/rest/v1/backendServices // Identity-Aware Proxy manages access control policies for backend services associated with a HTTPRoute, // so they can be accessed only by authenticated users or applications with correct Identity and Access Management (IAM) role. // +optional IAP *IdentityAwareProxyConfig `json:"iap,omitempty"` // MaxRatePerEndpoint configures the target capacity for backends. // If the field is omitted, a default value (1e8) will be used. // In the future we may add selector based settings for MaxRatePerEndpoint but they will co-exist // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=1000000000 // +optional MaxRatePerEndpoint *int64 `json:"maxRatePerEndpoint,omitempty"` // BackendPreference indicates whether the backend should be fully // utilized before sending traffic to backends with default preference. // Can only be configured for multi-cluster service backends when // GCPBackendPolicy targets ServiceExport. // The default value is DEFAULT. // +kubebuilder:validation:Enum=DEFAULT;PREFERRED // +optional BackendPreference *string `json:"backendPreference,omitempty"` }
GCPBackendPolicyConfig contains LoadBalancer policy configuration.
func (*GCPBackendPolicyConfig) DeepCopy ¶
func (in *GCPBackendPolicyConfig) DeepCopy() *GCPBackendPolicyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPBackendPolicyConfig.
func (*GCPBackendPolicyConfig) DeepCopyInto ¶
func (in *GCPBackendPolicyConfig) DeepCopyInto(out *GCPBackendPolicyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPBackendPolicyList ¶
type GCPBackendPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPBackendPolicy `json:"items"` }
GCPBackendPolicyList contains a list of GCPBackendPolicy.
func (*GCPBackendPolicyList) DeepCopy ¶
func (in *GCPBackendPolicyList) DeepCopy() *GCPBackendPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPBackendPolicyList.
func (*GCPBackendPolicyList) DeepCopyInto ¶
func (in *GCPBackendPolicyList) DeepCopyInto(out *GCPBackendPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPBackendPolicyList) DeepCopyObject ¶
func (in *GCPBackendPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPBackendPolicySpec ¶
type GCPBackendPolicySpec struct { // TargetRef identifies an API object to apply policy to. TargetRef v1alpha2.NamespacedPolicyTargetReference `json:"targetRef"` // Default defines default policy configuration for the targeted resource. // +optional Default *GCPBackendPolicyConfig `json:"default,omitempty"` }
GCPBackendPolicySpec defines the desired state of GCPBackendPolicy.
func (*GCPBackendPolicySpec) DeepCopy ¶
func (in *GCPBackendPolicySpec) DeepCopy() *GCPBackendPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPBackendPolicySpec.
func (*GCPBackendPolicySpec) DeepCopyInto ¶
func (in *GCPBackendPolicySpec) DeepCopyInto(out *GCPBackendPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPBackendPolicyStatus ¶
type GCPBackendPolicyStatus struct { // Ancestors is a list of ancestor resources (usually Gateways) that are // associated with the policy, and the status of the policy with respect to // each ancestor. // // +optional // +kubebuilder:validation:MaxItems=16 Ancestors []PolicyAncestorStatus `json:"ancestors,omitempty"` // Conditions describe the current conditions of the GCPBackendPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
GCPBackendPolicyStatus defines the observed state of GCPBackendPolicy.
func (*GCPBackendPolicyStatus) DeepCopy ¶
func (in *GCPBackendPolicyStatus) DeepCopy() *GCPBackendPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPBackendPolicyStatus.
func (*GCPBackendPolicyStatus) DeepCopyInto ¶
func (in *GCPBackendPolicyStatus) DeepCopyInto(out *GCPBackendPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPGatewayPolicy ¶
type GCPGatewayPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state of GCPGatewayPolicy. Spec GCPGatewayPolicySpec `json:"spec"` // Status defines the current state of GCPGatewayPolicy. Status GCPGatewayPolicyStatus `json:"status,omitempty"` }
GCPGatewayPolicy provides a way to apply SSL policy and other configuration to the GKE Gateway.
func (*GCPGatewayPolicy) DeepCopy ¶
func (in *GCPGatewayPolicy) DeepCopy() *GCPGatewayPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPGatewayPolicy.
func (*GCPGatewayPolicy) DeepCopyInto ¶
func (in *GCPGatewayPolicy) DeepCopyInto(out *GCPGatewayPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPGatewayPolicy) DeepCopyObject ¶
func (in *GCPGatewayPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPGatewayPolicyConfig ¶
type GCPGatewayPolicyConfig struct { // +optional SslPolicy string `json:"sslPolicy,omitempty"` // +optional AllowGlobalAccess bool `json:"allowGlobalAccess,omitempty"` // Region allows to specify load balancer's region for Multi-cluster Gateway. // +optional Region string `json:"region,omitempty"` }
GCPGatewayPolicyConfig contains gateway policy configuration.
func (*GCPGatewayPolicyConfig) DeepCopy ¶
func (in *GCPGatewayPolicyConfig) DeepCopy() *GCPGatewayPolicyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPGatewayPolicyConfig.
func (*GCPGatewayPolicyConfig) DeepCopyInto ¶
func (in *GCPGatewayPolicyConfig) DeepCopyInto(out *GCPGatewayPolicyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPGatewayPolicyList ¶
type GCPGatewayPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []*GCPGatewayPolicy `json:"items"` }
GCPGatewayPolicyList contains a list of GCPGatewayPolicies.
func (*GCPGatewayPolicyList) DeepCopy ¶
func (in *GCPGatewayPolicyList) DeepCopy() *GCPGatewayPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPGatewayPolicyList.
func (*GCPGatewayPolicyList) DeepCopyInto ¶
func (in *GCPGatewayPolicyList) DeepCopyInto(out *GCPGatewayPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPGatewayPolicyList) DeepCopyObject ¶
func (in *GCPGatewayPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPGatewayPolicySpec ¶
type GCPGatewayPolicySpec struct { // TargetRef identifies an API object to apply policy to. TargetRef v1alpha2.NamespacedPolicyTargetReference `json:"targetRef"` // Default defines default gateway policy configuration for the targeted resource. // +optional Default *GCPGatewayPolicyConfig `json:"default,omitempty"` }
GCPGatewayPolicySpec defines the desired state of GCPGatewayPolicy.
func (*GCPGatewayPolicySpec) DeepCopy ¶
func (in *GCPGatewayPolicySpec) DeepCopy() *GCPGatewayPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPGatewayPolicySpec.
func (*GCPGatewayPolicySpec) DeepCopyInto ¶
func (in *GCPGatewayPolicySpec) DeepCopyInto(out *GCPGatewayPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPGatewayPolicyStatus ¶
type GCPGatewayPolicyStatus struct { // Conditions describe the current conditions of the GatewayPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
GCPGatewayPolicyStatus defines the observed state of GCPGatewayPolicy.
func (*GCPGatewayPolicyStatus) DeepCopy ¶
func (in *GCPGatewayPolicyStatus) DeepCopy() *GCPGatewayPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPGatewayPolicyStatus.
func (*GCPGatewayPolicyStatus) DeepCopyInto ¶
func (in *GCPGatewayPolicyStatus) DeepCopyInto(out *GCPGatewayPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPSessionAffinityFilter ¶
type GCPSessionAffinityFilter struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state of GCPSessionAffinityFilter. Spec GCPSessionAffinitySpec `json:"spec"` // Status defines the current state of GCPSessionAffinityFilter. Status GCPSessionAffinityFilterStatus `json:"status,omitempty"` }
GCPSessionAffinityFilter provides a way to configure session affinity for a RouteAction.
func (*GCPSessionAffinityFilter) DeepCopy ¶
func (in *GCPSessionAffinityFilter) DeepCopy() *GCPSessionAffinityFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinityFilter.
func (*GCPSessionAffinityFilter) DeepCopyInto ¶
func (in *GCPSessionAffinityFilter) DeepCopyInto(out *GCPSessionAffinityFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPSessionAffinityFilter) DeepCopyObject ¶
func (in *GCPSessionAffinityFilter) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPSessionAffinityFilterList ¶
type GCPSessionAffinityFilterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPSessionAffinityFilter `json:"items"` }
GCPSessionAffinityFilterList contains a list of GCPSessionAffinityFilter.
func (*GCPSessionAffinityFilterList) DeepCopy ¶
func (in *GCPSessionAffinityFilterList) DeepCopy() *GCPSessionAffinityFilterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinityFilterList.
func (*GCPSessionAffinityFilterList) DeepCopyInto ¶
func (in *GCPSessionAffinityFilterList) DeepCopyInto(out *GCPSessionAffinityFilterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPSessionAffinityFilterList) DeepCopyObject ¶
func (in *GCPSessionAffinityFilterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPSessionAffinityFilterStatus ¶
type GCPSessionAffinityFilterStatus struct { // Conditions describe the current conditions of the GCPSessionAffinityFilter. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
GCPSessionAffinityFilterStatus defines the observed state of GCPSessionAffinityFilter.
func (*GCPSessionAffinityFilterStatus) DeepCopy ¶
func (in *GCPSessionAffinityFilterStatus) DeepCopy() *GCPSessionAffinityFilterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinityFilterStatus.
func (*GCPSessionAffinityFilterStatus) DeepCopyInto ¶
func (in *GCPSessionAffinityFilterStatus) DeepCopyInto(out *GCPSessionAffinityFilterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPSessionAffinityPolicy ¶
type GCPSessionAffinityPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state of GCPSessionAffinityPolicy. Spec GCPSessionAffinityPolicySpec `json:"spec"` // Status defines the current state of GCPSessionAffinityPolicy. Status GCPSessionAffinityPolicyStatus `json:"status,omitempty"` }
GCPSessionAffinityPolicy provides a way to apply session affinity policy configuration.
func (*GCPSessionAffinityPolicy) DeepCopy ¶
func (in *GCPSessionAffinityPolicy) DeepCopy() *GCPSessionAffinityPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinityPolicy.
func (*GCPSessionAffinityPolicy) DeepCopyInto ¶
func (in *GCPSessionAffinityPolicy) DeepCopyInto(out *GCPSessionAffinityPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPSessionAffinityPolicy) DeepCopyObject ¶
func (in *GCPSessionAffinityPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPSessionAffinityPolicyList ¶
type GCPSessionAffinityPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPSessionAffinityPolicy `json:"items"` }
GCPSessionAffinityPolicyList contains a list of GCPSessionAffinityPolicy.
func (*GCPSessionAffinityPolicyList) DeepCopy ¶
func (in *GCPSessionAffinityPolicyList) DeepCopy() *GCPSessionAffinityPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinityPolicyList.
func (*GCPSessionAffinityPolicyList) DeepCopyInto ¶
func (in *GCPSessionAffinityPolicyList) DeepCopyInto(out *GCPSessionAffinityPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPSessionAffinityPolicyList) DeepCopyObject ¶
func (in *GCPSessionAffinityPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GCPSessionAffinityPolicySpec ¶
type GCPSessionAffinityPolicySpec struct { // GCPSessionAffinitySpec is shared with GCPSessionAffinityFilter GCPSessionAffinitySpec `json:",inline"` // TargetRef identifies an API object to apply policy to. TargetRef v1alpha2.NamespacedPolicyTargetReference `json:"targetRef"` }
GCPSessionAffinityPolicySpec defines the desired state of GCPSessionAffinityPolicy.
func (*GCPSessionAffinityPolicySpec) DeepCopy ¶
func (in *GCPSessionAffinityPolicySpec) DeepCopy() *GCPSessionAffinityPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinityPolicySpec.
func (*GCPSessionAffinityPolicySpec) DeepCopyInto ¶
func (in *GCPSessionAffinityPolicySpec) DeepCopyInto(out *GCPSessionAffinityPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPSessionAffinityPolicyStatus ¶
type GCPSessionAffinityPolicyStatus struct { // Conditions describe the current conditions of the GCPSessionAffinityPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
GCPSessionAffinityPolicyStatus defines the observed state of GCPSessionAffinityPolicy.
func (*GCPSessionAffinityPolicyStatus) DeepCopy ¶
func (in *GCPSessionAffinityPolicyStatus) DeepCopy() *GCPSessionAffinityPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinityPolicyStatus.
func (*GCPSessionAffinityPolicyStatus) DeepCopyInto ¶
func (in *GCPSessionAffinityPolicyStatus) DeepCopyInto(out *GCPSessionAffinityPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPSessionAffinitySpec ¶
type GCPSessionAffinitySpec struct {
StatefulGeneratedCookie *StatefulGeneratedCookieConfig `json:"statefulGeneratedCookie,omitempty"`
}
GCPSessionAffinitySpec defines the desired state of GCPSessionAffinityFilter and is shared with GCPSessionAffinityPolicy.
func (*GCPSessionAffinitySpec) DeepCopy ¶
func (in *GCPSessionAffinitySpec) DeepCopy() *GCPSessionAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSessionAffinitySpec.
func (*GCPSessionAffinitySpec) DeepCopyInto ¶
func (in *GCPSessionAffinitySpec) DeepCopyInto(out *GCPSessionAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPTrafficDistributionPolicy ¶ added in v1.3.0
type GCPTrafficDistributionPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state for traffic distribution policy settings. Spec GCPTrafficDistributionPolicySpec `json:"spec"` // Status provides the current state of GCPTrafficDistributionPolicy. Status PolicyStatus `json:"status,omitempty"` }
GCPTrafficDistributionPolicy contains settings that configure how traffic should be distributed to its targeting service(s).
type GCPTrafficDistributionPolicyConfig ¶ added in v1.3.0
type GCPTrafficDistributionPolicyConfig struct { // The load balancing algorithm used to determine traffic distribution weighting at // cluster/zone level. // ServiceLbAlgorithm works together with LocalityLbAlgorithm. // Refer to https://cloud.google.com/load-balancing/docs/service-lb-policy for a // more detailed explanation of how they work together. // Supported values: SPRAY_TO_REGION / WATERFALL_BY_ZONE / WATERFALL_BY_REGION // Refer to https://cloud.google.com/load-balancing/docs/service-lb-policy#lb-algos // explanation of the algorithms. // Default to WATERFALL_BY_REGION. // +kubebuilder:validation:Enum=SPRAY_TO_REGION;WATERFALL_BY_ZONE;WATERFALL_BY_REGION ServiceLbAlgorithm *string `json:"serviceLbAlgorithm,omitempty"` // The load balancing algorithm used within the scope of the locality. This algorithm // affects how an individual endpoint is selected for a particular request. // LocalityLbAlgorithm works together with ServiceLbAlgorithm. // Refer to https://cloud.google.com/load-balancing/docs/service-lb-policy for a // more detailed explanation of how they work together. // Default to ROUND_ROBIN. // +kubebuilder:validation:Enum=ROUND_ROBIN;LEAST_REQUEST;RING_HASH;RANDOM;ORIGINAL_DESTINATION;MAGLEV;WEIGHTED_ROUND_ROBIN LocalityLbAlgorithm *string `json:"localityLbAlgorithm,omitempty"` // AutoCapacityDrain contains configurations for auto draining. // // +optional AutoCapacityDrain *AutoCapacityDrain `json:"autoCapacityDrain,omitempty"` // FailoverConfig contains configurations for failover behaviors. // // +optional FailoverConfig *FailoverConfig `json:"failoverConfig,omitempty"` }
GCPTrafficDistributionPolicyConfig defines the settings of GCPTrafficDistributionPolicy.
type GCPTrafficDistributionPolicyList ¶ added in v1.3.0
type GCPTrafficDistributionPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPTrafficDistributionPolicy `json:"items"` }
GCPTrafficDistributionPolicyList contains a list of GCPTrafficDistributionPolicy.
type GCPTrafficDistributionPolicySpec ¶ added in v1.3.0
type GCPTrafficDistributionPolicySpec struct { // +kubebuilder:validation:XValidation:message="TargetRefs must reference Service",rule="self.all(x, x.kind == 'Service' && x.group == ”)" // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 TargetRefs []LocalPolicyTargetReference `json:"targetRefs"` // Default defines default policy configuration for the targeted resource. // +optional Default *GCPTrafficDistributionPolicyConfig `json:"default,omitempty"` }
GCPTrafficDistributionPolicySpec defines the desired state of GCPTrafficDistributionPolicy.
type GRPCHealthCheck ¶
type GRPCHealthCheck struct { CommonHealthCheck `json:",inline"` // The gRPC service name for the health check. This field is optional. // The value of grpcServiceName has the following meanings by convention: // - Empty serviceName means the overall status of all services at the backend. // - Non-empty serviceName means the health of that gRPC service, as defined by // the owner of the service. // The grpcServiceName can only be ASCII. // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:validation:Pattern=[\x00-\xFF]+ GRPCServiceName *string `json:"grpcServiceName,omitempty"` }
GRPCHealthCheck is the health check configuration of type GRPC
func (*GRPCHealthCheck) DeepCopy ¶
func (in *GRPCHealthCheck) DeepCopy() *GRPCHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCHealthCheck.
func (*GRPCHealthCheck) DeepCopyInto ¶
func (in *GRPCHealthCheck) DeepCopyInto(out *GRPCHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTP2HealthCheck ¶
type HTTP2HealthCheck struct { CommonHealthCheck `json:",inline"` CommonHTTPHealthCheck `json:",inline"` }
HTTP2HealthCheck is the health check configuration of type HTTP2
func (*HTTP2HealthCheck) DeepCopy ¶
func (in *HTTP2HealthCheck) DeepCopy() *HTTP2HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP2HealthCheck.
func (*HTTP2HealthCheck) DeepCopyInto ¶
func (in *HTTP2HealthCheck) DeepCopyInto(out *HTTP2HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPHealthCheck ¶
type HTTPHealthCheck struct { CommonHealthCheck `json:",inline"` CommonHTTPHealthCheck `json:",inline"` }
HTTPHealthCheck is the health check configuration of type HTTP
func (*HTTPHealthCheck) DeepCopy ¶
func (in *HTTPHealthCheck) DeepCopy() *HTTPHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheck.
func (*HTTPHealthCheck) DeepCopyInto ¶
func (in *HTTPHealthCheck) DeepCopyInto(out *HTTPHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPSHealthCheck ¶
type HTTPSHealthCheck struct { CommonHealthCheck `json:",inline"` CommonHTTPHealthCheck `json:",inline"` }
HTTPSHealthCheck is the health check configuration of type HTTPS
func (*HTTPSHealthCheck) DeepCopy ¶
func (in *HTTPSHealthCheck) DeepCopy() *HTTPSHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheck.
func (*HTTPSHealthCheck) DeepCopyInto ¶
func (in *HTTPSHealthCheck) DeepCopyInto(out *HTTPSHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct { // Specifies the type of the healthCheck, either TCP, HTTP, HTTPS, HTTP2 or GRPC. // Exactly one of the protocol-specific health check field must be specified, // which must match type field. // +unionDiscriminator // +kubebuilder:validation:Enum=TCP;HTTP;HTTPS;HTTP2;GRPC Type HealthCheckType `json:"type,omitempty"` // TCP is the health check configuration of type TCP. // +optional TCP *TCPHealthCheck `json:"tcpHealthCheck,omitempty"` // HTTP is the health check configuration of type HTTP. // +optional HTTP *HTTPHealthCheck `json:"httpHealthCheck,omitempty"` // HTTPS is the health check configuration of type HTTPS. // +optional HTTPS *HTTPSHealthCheck `json:"httpsHealthCheck,omitempty"` // HTTP2 is the health check configuration of type HTTP2. // +optional HTTP2 *HTTP2HealthCheck `json:"http2HealthCheck,omitempty"` // GRPC is the health check configuration of type GRPC. // +optional GRPC *GRPCHealthCheck `json:"grpcHealthCheck,omitempty"` }
HealthCheck is a union struct that contains per protocol (i.e. HTTP, HTTPS, HTTP2, TCP, GRPC) configuration. +union +kubebuilder:validation:MaxProperties=2 +kubebuilder:validation:MinProperties=2
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckPolicy ¶
type HealthCheckPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state of HealthCheckPolicy. Spec HealthCheckPolicySpec `json:"spec"` // Status defines the current state of HealthCheckPolicy. Status HealthCheckPolicyStatus `json:"status,omitempty"` }
HealthCheckPolicy provides a way to create and attach a HealthCheck to a BackendService with the GKE implementation of the Gateway API. This policy can only be attached to a BackendService.
func (*HealthCheckPolicy) DeepCopy ¶
func (in *HealthCheckPolicy) DeepCopy() *HealthCheckPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicy.
func (*HealthCheckPolicy) DeepCopyInto ¶
func (in *HealthCheckPolicy) DeepCopyInto(out *HealthCheckPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckPolicy) DeepCopyObject ¶
func (in *HealthCheckPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckPolicyConfig ¶
type HealthCheckPolicyConfig struct { // How often (in seconds) to send a health check. // If not specified, a default value of 5 seconds will be used. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=300 CheckIntervalSec *int64 `json:"checkIntervalSec,omitempty"` // How long (in seconds) to wait before claiming failure. // If not specified, a default value of 5 seconds will be used. // It is invalid for timeoutSec to have greater value than checkIntervalSec. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=300 TimeoutSec *int64 `json:"timeoutSec,omitempty"` // A so-far healthy instance will be marked unhealthy after this many consecutive failures. // If not specified, a default value of 2 will be used. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10 UnhealthyThreshold *int64 `json:"unhealthyThreshold,omitempty"` // A so-far unhealthy instance will be marked healthy after this many consecutive successes. // If not specified, a default value of 2 will be used. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10 HealthyThreshold *int64 `json:"healthyThreshold,omitempty"` // Specifies the type of the healthCheck, either TCP, HTTP, HTTPS, HTTP2 or GRPC. // Exactly one of the protocol-specific health check field must be specified, // which must match type field. // Config contains per protocol (i.e. HTTP, HTTPS, HTTP2, TCP, GRPC) configuration. // If not specified, health check type defaults to HTTP. Config *HealthCheck `json:"config,omitempty"` // LogConfig configures logging on this health check. LogConfig *LogConfig `json:"logConfig,omitempty"` }
HealthCheckPolicyConfig contains HealthCheck policy configuration.
func (*HealthCheckPolicyConfig) DeepCopy ¶
func (in *HealthCheckPolicyConfig) DeepCopy() *HealthCheckPolicyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicyConfig.
func (*HealthCheckPolicyConfig) DeepCopyInto ¶
func (in *HealthCheckPolicyConfig) DeepCopyInto(out *HealthCheckPolicyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckPolicyList ¶
type HealthCheckPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HealthCheckPolicy `json:"items"` }
HealthCheckPolicyList contains a list of HealthCheckPolicy.
func (*HealthCheckPolicyList) DeepCopy ¶
func (in *HealthCheckPolicyList) DeepCopy() *HealthCheckPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicyList.
func (*HealthCheckPolicyList) DeepCopyInto ¶
func (in *HealthCheckPolicyList) DeepCopyInto(out *HealthCheckPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckPolicyList) DeepCopyObject ¶
func (in *HealthCheckPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckPolicySpec ¶
type HealthCheckPolicySpec struct { // TargetRef identifies an API object to apply policy to. TargetRef v1alpha2.NamespacedPolicyTargetReference `json:"targetRef"` // Default defines default policy configuration for the targeted resource. // +optional Default *HealthCheckPolicyConfig `json:"default,omitempty"` }
HealthCheckPolicySpec defines the desired state of HealthCheckPolicy.
func (*HealthCheckPolicySpec) DeepCopy ¶
func (in *HealthCheckPolicySpec) DeepCopy() *HealthCheckPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicySpec.
func (*HealthCheckPolicySpec) DeepCopyInto ¶
func (in *HealthCheckPolicySpec) DeepCopyInto(out *HealthCheckPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckPolicyStatus ¶
type HealthCheckPolicyStatus struct { // Conditions describe the current conditions of the HealthCheckPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
HealthCheckPolicyStatus defines the observed state of HealthCheckPolicy.
func (*HealthCheckPolicyStatus) DeepCopy ¶
func (in *HealthCheckPolicyStatus) DeepCopy() *HealthCheckPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicyStatus.
func (*HealthCheckPolicyStatus) DeepCopyInto ¶
func (in *HealthCheckPolicyStatus) DeepCopyInto(out *HealthCheckPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckType ¶
type HealthCheckType string
HealthCheckType is the HealthCheck protocol type.
const ( // TCP is ProtocolType of TCP TCP HealthCheckType = "TCP" // HTTP is ProtocolType of HTTP HTTP HealthCheckType = "HTTP" // HTTPS is ProtocolType of HTTPS HTTPS HealthCheckType = "HTTPS" // HTTP2 is ProtocolType of HTTP2 HTTP2 HealthCheckType = "HTTP2" // GRPC is ProtocolType of GRPC GRPC HealthCheckType = "GRPC" )
type IdentityAwareProxyConfig ¶
type IdentityAwareProxyConfig struct { // Enabled denotes whether the serving infrastructure will authenticate and authorize all incoming requests. // If true, the ClientID and Oauth2ClientSecret fields must be non-empty. // If not specified, this defaults to false, which means Identity-Aware Proxy is disabled by default. Enabled *bool `json:"enabled,omitempty"` // Oauth2ClientSecret contains the OAuth2 client secret to use for the authentication flow. // Oauth2ClientSecret must be set if Enabled is set to true. // +optional Oauth2ClientSecret *Oauth2ClientSecret `json:"oauth2ClientSecret,omitempty"` // ClientID is the OAuth2 client ID to use for the authentication flow. // See iap.oauth2ClientId in https://cloud.google.com/compute/docs/reference/rest/v1/backendServices // ClientID must be set if Enabled is set to true. // +optional ClientID *string `json:"clientID,omitempty"` }
IdentityAwareProxyConfig contains the configurations for Identity-Aware Proxy. Identity-Aware Proxy manages access control policies for backend services associated with a HTTPRoute, so they can be accessed only by authenticated users or applications with correct Identity and Access Management (IAM) role. See https://cloud.google.com/compute/docs/reference/rest/v1/backendServices
func (*IdentityAwareProxyConfig) DeepCopy ¶
func (in *IdentityAwareProxyConfig) DeepCopy() *IdentityAwareProxyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityAwareProxyConfig.
func (*IdentityAwareProxyConfig) DeepCopyInto ¶
func (in *IdentityAwareProxyConfig) DeepCopyInto(out *IdentityAwareProxyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalPolicyTargetReference ¶ added in v1.3.0
type LocalPolicyTargetReference struct { // Group is the group of the target resource. Group v1.Group `json:"group"` // Kind is kind of the target resource. Kind v1.Kind `json:"kind"` // Name is the name of the target resource. Name v1.ObjectName `json:"name"` }
LocalPolicyTargetReference identifies an API object to apply a direct or inherited policy to. This should be used as part of Policy resources that can target Gateway API resources. For more information on how this policy attachment model works, and a sample Policy resource, refer to the policy attachment documentation for Gateway API.
type LogConfig ¶
type LogConfig struct { // Enabled indicates whether or not to export health check logs. If not // specified, this defaults to false, which means health check logging will be // disabled. Enabled *bool `json:"enabled,omitempty"` }
LogConfig configures logging on this health check.
func (*LogConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfig.
func (*LogConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoggingConfig ¶
type LoggingConfig struct { // Enabled denotes whether to enable logging for the load balancer traffic // served by this backend service. If not specified, this defaults to false, // which means logging is disabled by default. Enabled *bool `json:"enabled,omitempty"` // This field can only be specified if logging is enabled for this backend // service. The value of the field must be in range [0, 1e6]. This is // converted to a floating point value in the range [0, 1] by dividing by 1e6 // for use with the GCE api and interpreted as the proportion of requests that // will be logged. By default all requests will be logged. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=1000000 SampleRate *int32 `json:"sampleRate,omitempty"` }
LoggingConfig contains configuration for logging.
func (*LoggingConfig) DeepCopy ¶
func (in *LoggingConfig) DeepCopy() *LoggingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingConfig.
func (*LoggingConfig) DeepCopyInto ¶
func (in *LoggingConfig) DeepCopyInto(out *LoggingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Oauth2ClientSecret ¶
type Oauth2ClientSecret struct { // Name is the reference to the secret resource. Name *string `json:"name,omitempty"` }
Oauth2ClientSecret contains the OAuth2 client secret to use for the authentication flow. See https://cloud.google.com/compute/docs/reference/rest/v1/backendServices
func (*Oauth2ClientSecret) DeepCopy ¶
func (in *Oauth2ClientSecret) DeepCopy() *Oauth2ClientSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Oauth2ClientSecret.
func (*Oauth2ClientSecret) DeepCopyInto ¶
func (in *Oauth2ClientSecret) DeepCopyInto(out *Oauth2ClientSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PolicyAncestorStatus ¶ added in v1.3.0
type PolicyAncestorStatus struct { // AncestorRef corresponds with a ParentRef in the spec that this // PolicyAncestorStatus struct describes the status of. AncestorRef v1.ParentReference `json:"ancestorRef"` // ControllerName is a domain/path string that indicates the name of the // controller that wrote this status. This corresponds with the // controllerName field on GatewayClass. // // Example: "example.net/gateway-controller". // // The format of this field is DOMAIN "/" PATH, where DOMAIN and PATH are // valid Kubernetes names // (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). // // Controllers MUST populate this field when writing status. Controllers should ensure that // entries to status populated with their ControllerName are cleaned up when they are no // longer necessary. ControllerName v1.GatewayController `json:"controllerName"` // Conditions describes the status of the Policy with respect to the given Ancestor. // // +listType=map // +listMapKey=type // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
PolicyAncestorStatus describes the status of a route with respect to an associated Ancestor.
Ancestors refer to objects that are either the Target of a policy or above it in terms of object hierarchy. For example, if a policy targets a Service, the Policy's Ancestors are, in order, the Service, the HTTPRoute, the Gateway, and the GatewayClass. Almost always, in this hierarchy, the Gateway will be the most useful object to place Policy status on, so we recommend that implementations SHOULD use Gateway as the PolicyAncestorStatus object unless the designers have a _very_ good reason otherwise.
In the context of policy attachment, the Ancestor is used to distinguish which resource results in a distinct application of this policy. For example, if a policy targets a Service, it may have a distinct result per attached Gateway.
Policies targeting the same resource may have different effects depending on the ancestors of those resources. For example, different Gateways targeting the same Service may have different capabilities, especially if they have different underlying implementations.
For example, in BackendTLSPolicy, the Policy attaches to a Service that is used as a backend in a HTTPRoute that is itself attached to a Gateway. In this case, the relevant object for status is the Gateway, and that is the ancestor object referred to in this status.
Note that a parent is also an ancestor, so for objects where the parent is the relevant object for status, this struct SHOULD still be used.
This struct is intended to be used in a slice that's effectively a map, with a composite key made up of the AncestorRef and the ControllerName.
type PolicyConditionReason ¶
type PolicyConditionReason string
PolicyConditionReason is a reason for a service policy condition.
type PolicyConditionType ¶
type PolicyConditionType string
PolicyConditionType is a type of condition for a service policy.
type PolicyStatus ¶ added in v1.3.0
type PolicyStatus struct { // Ancestors is a list of ancestor resources (usually Gateways) that are // associated with the policy, and the status of the policy with respect to // each ancestor. When this policy attaches to a parent, the controller that // manages the parent and the ancestors MUST add an entry to this list when // the controller first sees the policy and SHOULD update the entry as // appropriate when the relevant ancestor is modified. // // Note that choosing the relevant ancestor is left to the Policy designers; // an important part of Policy design is designing the right object level at // which to namespace this status. // // Note also that implementations MUST ONLY populate ancestor status for // the Ancestor resources they are responsible for. Implementations MUST // use the ControllerName field to uniquely identify the entries in this list // that they are responsible for. // // Note that to achieve this, the list of PolicyAncestorStatus structs // MUST be treated as a map with a composite key, made up of the AncestorRef // and ControllerName fields combined. // // A maximum of 16 ancestors will be represented in this list. An empty list // means the Policy is not relevant for any ancestors. // // If this slice is full, implementations MUST NOT add further entries. // Instead they MUST consider the policy unimplementable and signal that // on any related resources such as the ancestor that would be referenced // here. For example, if this list was full on BackendTLSPolicy, no // additional Gateways would be able to reference the Service targeted by // the BackendTLSPolicy. // // +kubebuilder:validation:MaxItems=16 Ancestors []PolicyAncestorStatus `json:"ancestors"` }
PolicyStatus defines the common attributes that all Policies should include within their status.
type PortSpecificationType ¶
type PortSpecificationType string
PortSpecificationType is the PortSpecification type.
const ( // UseFixedPort is PortSpecificationType of USE_FIXED_PORT UseFixedPort PortSpecificationType = "USE_FIXED_PORT" // UseNamedPort is PortSpecificationType of USE_NAMED_PORT UseNamedPort PortSpecificationType = "USE_NAMED_PORT" // UseServingPort is PortSpecificationType of USE_SERVING_PORT UseServingPort PortSpecificationType = "USE_SERVING_PORT" )
type ProxyHeaderType ¶
type ProxyHeaderType string
ProxyHeaderType is the ProxyHeader type.
const ( // None is ProxyHeaderType of NONE None ProxyHeaderType = "NONE" // ProxyV1 is ProxyHeaderType of PROXY_V1 ProxyV1 ProxyHeaderType = "PROXY_V1" )
type SessionAffinityConfig ¶
type SessionAffinityConfig struct { // Type specifies the type of session affinity to use. If not specified, this // defaults to NONE. // +kubebuilder:validation:Enum=CLIENT_IP;CLIENT_IP_PORT_PROTO;CLIENT_IP_PROTO;GENERATED_COOKIE;HEADER_FIELD;HTTP_COOKIE;NONE Type *string `json:"type,omitempty"` // CookieTTLSec specifies the lifetime of cookies in seconds. This setting // requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the // cookie is non-persistent and lasts only until the end of the browser // session (or equivalent). The maximum allowed value is two weeks // (1,209,600). // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=1209600 CookieTTLSec *int64 `json:"cookieTtlSec,omitempty"` }
SessionAffinityConfig contains configuration for stickiness parameters.
func (*SessionAffinityConfig) DeepCopy ¶
func (in *SessionAffinityConfig) DeepCopy() *SessionAffinityConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionAffinityConfig.
func (*SessionAffinityConfig) DeepCopyInto ¶
func (in *SessionAffinityConfig) DeepCopyInto(out *SessionAffinityConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatefulGeneratedCookieConfig ¶
type StatefulGeneratedCookieConfig struct { // The cookie TTL value for the Set-Cookie header generated by the data plane. The lifetime of the // cookie may be set to a value from 1 to 86400 seconds (24 hours) inclusive. CookieTTLSeconds *int64 `json:"cookieTtlSeconds"` }
StatefulGeneratedCookieConfig defines cookie-based stateful session affinity where the date plane supplies a “session cookie” with the name "GSSA" which encodes a specific destination host and each request containing that cookie will be directed to that host as long as the destination host remains up and healthy. GCP will manage the session cookie but the client application code is responsible for copying the cookie from each RPC in the session to the next.
func (*StatefulGeneratedCookieConfig) DeepCopy ¶
func (in *StatefulGeneratedCookieConfig) DeepCopy() *StatefulGeneratedCookieConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulGeneratedCookieConfig.
func (*StatefulGeneratedCookieConfig) DeepCopyInto ¶
func (in *StatefulGeneratedCookieConfig) DeepCopyInto(out *StatefulGeneratedCookieConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPHealthCheck ¶
type TCPHealthCheck struct { CommonHealthCheck `json:",inline"` // The application data to send once the TCP connection has been established. If not specified, // this defaults to empty. If both request and response are empty, the connection establishment // alone will indicate health. The request data can only be ASCII. // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:validation:Pattern=[\x00-\xFF]+ Request *string `json:"request,omitempty"` // The bytes to match against the beginning of the response data. // If not specified or left empty, any response will indicate health. // The response data can only be ASCII. // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:validation:Pattern=[\x00-\xFF]+ Response *string `json:"response,omitempty"` // Specifies the type of proxy header to append before sending data to the backend, // either NONE or PROXY_V1. If not specified, this defaults to NONE. // +kubebuilder:validation:Enum=NONE;PROXY_V1 ProxyHeader *ProxyHeaderType `json:"proxyHeader,omitempty"` }
TCPHealthCheck is the health check configuration of type TCP
func (*TCPHealthCheck) DeepCopy ¶
func (in *TCPHealthCheck) DeepCopy() *TCPHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheck.
func (*TCPHealthCheck) DeepCopyInto ¶
func (in *TCPHealthCheck) DeepCopyInto(out *TCPHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.