Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the configuration.konghq.com v1beta1 API group. +kubebuilder:object:generate=true +groupName=configuration.konghq.com
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type HTTPStatus
- type HashInput
- type IngressBackend
- type IngressRule
- type IngressTLS
- type KongConsumerGroup
- type KongConsumerGroupList
- type KongConsumerGroupStatus
- type KongUpstreamActiveHealthcheck
- type KongUpstreamHash
- type KongUpstreamHealthcheck
- type KongUpstreamHealthcheckHealthy
- type KongUpstreamHealthcheckUnhealthy
- type KongUpstreamPassiveHealthcheck
- type KongUpstreamPolicy
- type KongUpstreamPolicyList
- type KongUpstreamPolicySpec
- type TCPIngress
- type TCPIngressList
- type TCPIngressSpec
- type TCPIngressStatus
- type UDPIngress
- type UDPIngressList
- type UDPIngressRule
- type UDPIngressSpec
- type UDPIngressStatus
Constants ¶
const ( // KongUpstreamPolicyAnnotationKey is the key used to attach KongUpstreamPolicy to Services. // The value of the annotation is the name of the KongUpstreamPolicy object in the same namespace as the Service. KongUpstreamPolicyAnnotationKey = "konghq.com/upstream-policy" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "configuration.konghq.com", Version: "v1beta1"} // SchemeGroupVersion is a convenience var for generated clientsets. SchemeGroupVersion = GroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given 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 HTTPStatus ¶
type HTTPStatus int
HTTPStatus is an HTTP status code. +kubebuilder:validation:Minimum=100 +kubebuilder:validation:Maximum=599
type HashInput ¶
type HashInput string
HashInput is the input for consistent-hashing load balancing algorithm. Can be one of: "ip", "consumer", "path". +kubebuilder:validation:Enum=ip;consumer;path
type IngressBackend ¶
type IngressBackend struct { // Specifies the name of the referenced service. // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 ServiceName string `json:"serviceName"` // Specifies the port of the referenced service. // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Format=int32 ServicePort int `json:"servicePort"` }
IngressBackend describes all endpoints for a given service and port.
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.
type IngressRule ¶
type IngressRule struct { // Host is the fully qualified domain name of a network host, as defined // by RFC 3986. // If a Host is not specified, then port-based TCP routing is performed. Kong // doesn't care about the content of the TCP stream in this case. // If a Host is specified, the protocol must be TLS over TCP. // A plain-text TCP request cannot be routed based on Host. It can only // be routed based on Port. // +kubebuilder:validation:Optional Host string `json:"host,omitempty"` // Port is the port on which to accept TCP or TLS over TCP sessions and // route. It is a required field. If a Host is not specified, the requested // are routed based only on Port. // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Format=int32 Port int `json:"port"` // Backend defines the referenced service endpoint to which the traffic // will be forwarded to. // +kubebuilder:validation:Required Backend IngressBackend `json:"backend"` }
IngressRule represents a rule to apply against incoming requests. Matching is performed based on an (optional) SNI and port.
func (*IngressRule) DeepCopy ¶
func (in *IngressRule) DeepCopy() *IngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRule.
func (*IngressRule) DeepCopyInto ¶
func (in *IngressRule) DeepCopyInto(out *IngressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressTLS ¶
type IngressTLS struct { // Hosts are a list of hosts included in the TLS certificate. The values in // this list must match the name/s used in the tlsSecret. Defaults to the // wildcard host setting for the loadbalancer controller fulfilling this // Ingress, if left unspecified. Hosts []string `json:"hosts,omitempty"` // SecretName is the name of the secret used to terminate SSL traffic. SecretName string `json:"secretName,omitempty"` }
IngressTLS describes the transport layer security.
func (*IngressTLS) DeepCopy ¶
func (in *IngressTLS) DeepCopy() *IngressTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressTLS.
func (*IngressTLS) DeepCopyInto ¶
func (in *IngressTLS) DeepCopyInto(out *IngressTLS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongConsumerGroup ¶
type KongConsumerGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Status represents the current status of the KongConsumerGroup resource. Status KongConsumerGroupStatus `json:"status,omitempty"` }
KongConsumerGroup is the Schema for the kongconsumergroups API.
func (*KongConsumerGroup) DeepCopy ¶
func (in *KongConsumerGroup) DeepCopy() *KongConsumerGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongConsumerGroup.
func (*KongConsumerGroup) DeepCopyInto ¶
func (in *KongConsumerGroup) DeepCopyInto(out *KongConsumerGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KongConsumerGroup) DeepCopyObject ¶
func (in *KongConsumerGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KongConsumerGroupList ¶
type KongConsumerGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KongConsumerGroup `json:"items"` }
KongConsumerGroupList contains a list of KongConsumerGroups.
func (*KongConsumerGroupList) DeepCopy ¶
func (in *KongConsumerGroupList) DeepCopy() *KongConsumerGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongConsumerGroupList.
func (*KongConsumerGroupList) DeepCopyInto ¶
func (in *KongConsumerGroupList) DeepCopyInto(out *KongConsumerGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KongConsumerGroupList) DeepCopyObject ¶
func (in *KongConsumerGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KongConsumerGroupStatus ¶
type KongConsumerGroupStatus struct { // Conditions describe the current conditions of the KongConsumerGroup. // // Known condition types are: // // * "Programmed" // // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 // +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}} Conditions []metav1.Condition `json:"conditions,omitempty"` }
KongConsumerGroupStatus represents the current status of the KongConsumerGroup resource.
func (*KongConsumerGroupStatus) DeepCopy ¶
func (in *KongConsumerGroupStatus) DeepCopy() *KongConsumerGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongConsumerGroupStatus.
func (*KongConsumerGroupStatus) DeepCopyInto ¶
func (in *KongConsumerGroupStatus) DeepCopyInto(out *KongConsumerGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongUpstreamActiveHealthcheck ¶
type KongUpstreamActiveHealthcheck struct { // Type determines whether to perform active health checks using HTTP or HTTPS, or just attempt a TCP connection. // Accepted values are "http", "https", "tcp", "grpc", "grpcs". // +kubebuilder:validation:Enum=http;https;tcp;grpc;grpcs Type *string `json:"type,omitempty"` // Concurrency is the number of targets to check concurrently. // +kubebuilder:validation:Minimum=1 Concurrency *int `json:"concurrency,omitempty"` // Healthy configures thresholds and HTTP status codes to mark targets healthy for an upstream. Healthy *KongUpstreamHealthcheckHealthy `json:"healthy,omitempty"` // Unhealthy configures thresholds and HTTP status codes to mark targets unhealthy for an upstream. Unhealthy *KongUpstreamHealthcheckUnhealthy `json:"unhealthy,omitempty"` // HTTPPath is the path to use in GET HTTP request to run as a probe. // +kubebuilder:validation:Pattern=^/.*$ HTTPPath *string `json:"httpPath,omitempty"` // HTTPSSNI is the SNI to use in GET HTTPS request to run as a probe. HTTPSSNI *string `json:"httpsSni,omitempty"` // HTTPSVerifyCertificate is a boolean value that indicates if the certificate should be verified. HTTPSVerifyCertificate *bool `json:"httpsVerifyCertificate,omitempty"` // Timeout is the probe timeout in seconds. // +kubebuilder:validation:Minimum=0 Timeout *int `json:"timeout,omitempty"` // Headers is a list of HTTP headers to add to the probe request. Headers map[string][]string `json:"headers,omitempty"` }
KongUpstreamActiveHealthcheck configures active health check probing.
func (*KongUpstreamActiveHealthcheck) DeepCopy ¶
func (in *KongUpstreamActiveHealthcheck) DeepCopy() *KongUpstreamActiveHealthcheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamActiveHealthcheck.
func (*KongUpstreamActiveHealthcheck) DeepCopyInto ¶
func (in *KongUpstreamActiveHealthcheck) DeepCopyInto(out *KongUpstreamActiveHealthcheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongUpstreamHash ¶
type KongUpstreamHash struct { // Input allows using one of the predefined inputs (ip, consumer, path). // For other parametrized inputs, use one of the fields below. Input *HashInput `json:"input,omitempty"` // Header is the name of the header to use as hash input. Header *string `json:"header,omitempty"` // Cookie is the name of the cookie to use as hash input. Cookie *string `json:"cookie,omitempty"` // CookiePath is cookie path to set in the response headers. CookiePath *string `json:"cookiePath,omitempty"` // QueryArg is the name of the query argument to use as hash input. QueryArg *string `json:"queryArg,omitempty"` // URICapture is the name of the URI capture group to use as hash input. URICapture *string `json:"uriCapture,omitempty"` }
KongUpstreamHash defines how to calculate hash for consistent-hashing load balancing algorithm. Only one of the fields must be set.
func (*KongUpstreamHash) DeepCopy ¶
func (in *KongUpstreamHash) DeepCopy() *KongUpstreamHash
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamHash.
func (*KongUpstreamHash) DeepCopyInto ¶
func (in *KongUpstreamHash) DeepCopyInto(out *KongUpstreamHash)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongUpstreamHealthcheck ¶
type KongUpstreamHealthcheck struct { // Active configures active health check probing. Active *KongUpstreamActiveHealthcheck `json:"active,omitempty"` // Passive configures passive health check probing. Passive *KongUpstreamPassiveHealthcheck `json:"passive,omitempty"` // Threshold is the minimum percentage of the upstream’s targets’ weight that must be available for the whole // upstream to be considered healthy. Threshold *int `json:"threshold,omitempty"` }
KongUpstreamHealthcheck represents a health-check config of an Upstream in Kong.
func (*KongUpstreamHealthcheck) DeepCopy ¶
func (in *KongUpstreamHealthcheck) DeepCopy() *KongUpstreamHealthcheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamHealthcheck.
func (*KongUpstreamHealthcheck) DeepCopyInto ¶
func (in *KongUpstreamHealthcheck) DeepCopyInto(out *KongUpstreamHealthcheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongUpstreamHealthcheckHealthy ¶
type KongUpstreamHealthcheckHealthy struct { // HTTPStatuses is a list of HTTP status codes that Kong considers a success. HTTPStatuses []HTTPStatus `json:"httpStatuses,omitempty"` // Interval is the interval between active health checks for an upstream in seconds when in a healthy state. // +kubebuilder:validation:Minimum=0 Interval *int `json:"interval,omitempty"` // Successes is the number of successes to consider a target healthy. // +kubebuilder:validation:Minimum=0 Successes *int `json:"successes,omitempty"` }
KongUpstreamHealthcheckHealthy configures thresholds and HTTP status codes to mark targets healthy for an upstream.
func (*KongUpstreamHealthcheckHealthy) DeepCopy ¶
func (in *KongUpstreamHealthcheckHealthy) DeepCopy() *KongUpstreamHealthcheckHealthy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamHealthcheckHealthy.
func (*KongUpstreamHealthcheckHealthy) DeepCopyInto ¶
func (in *KongUpstreamHealthcheckHealthy) DeepCopyInto(out *KongUpstreamHealthcheckHealthy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongUpstreamHealthcheckUnhealthy ¶
type KongUpstreamHealthcheckUnhealthy struct { // HTTPFailures is the number of failures to consider a target unhealthy. // +kubebuilder:validation:Minimum=0 HTTPFailures *int `json:"httpFailures,omitempty"` // HTTPStatuses is a list of HTTP status codes that Kong considers a failure. HTTPStatuses []HTTPStatus `json:"httpStatuses,omitempty"` // TCPFailures is the number of TCP failures in a row to consider a target unhealthy. // +kubebuilder:validation:Minimum=0 TCPFailures *int `json:"tcpFailures,omitempty"` // Timeouts is the number of timeouts in a row to consider a target unhealthy. // +kubebuilder:validation:Minimum=0 Timeouts *int `json:"timeouts,omitempty"` // Interval is the interval between active health checks for an upstream in seconds when in an unhealthy state. // +kubebuilder:validation:Minimum=0 Interval *int `json:"interval,omitempty"` }
KongUpstreamHealthcheckUnhealthy configures thresholds and HTTP status codes to mark targets unhealthy.
func (*KongUpstreamHealthcheckUnhealthy) DeepCopy ¶
func (in *KongUpstreamHealthcheckUnhealthy) DeepCopy() *KongUpstreamHealthcheckUnhealthy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamHealthcheckUnhealthy.
func (*KongUpstreamHealthcheckUnhealthy) DeepCopyInto ¶
func (in *KongUpstreamHealthcheckUnhealthy) DeepCopyInto(out *KongUpstreamHealthcheckUnhealthy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongUpstreamPassiveHealthcheck ¶
type KongUpstreamPassiveHealthcheck struct { // Type determines whether to perform passive health checks interpreting HTTP/HTTPS statuses, // or just check for TCP connection success. // Accepted values are "http", "https", "tcp", "grpc", "grpcs". // +kubebuilder:validation:Enum=http;https;tcp;grpc;grpcs Type *string `json:"type,omitempty"` // Healthy configures thresholds and HTTP status codes to mark targets healthy for an upstream. Healthy *KongUpstreamHealthcheckHealthy `json:"healthy,omitempty"` // Unhealthy configures thresholds and HTTP status codes to mark targets unhealthy. Unhealthy *KongUpstreamHealthcheckUnhealthy `json:"unhealthy,omitempty"` }
KongUpstreamPassiveHealthcheck configures passive checks around passive health checks.
func (*KongUpstreamPassiveHealthcheck) DeepCopy ¶
func (in *KongUpstreamPassiveHealthcheck) DeepCopy() *KongUpstreamPassiveHealthcheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamPassiveHealthcheck.
func (*KongUpstreamPassiveHealthcheck) DeepCopyInto ¶
func (in *KongUpstreamPassiveHealthcheck) DeepCopyInto(out *KongUpstreamPassiveHealthcheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KongUpstreamPolicy ¶
type KongUpstreamPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec contains the configuration of the Kong upstream. Spec KongUpstreamPolicySpec `json:"spec,omitempty"` // Status defines the current state of KongUpstreamPolicy Status gatewayv1alpha2.PolicyStatus `json:"status,omitempty"` }
KongUpstreamPolicy allows configuring algorithm that should be used for load balancing traffic between Kong Upstream's Targets. It also allows configuring health checks for Kong Upstream's Targets.
Its configuration is similar to Kong Upstream object (https://docs.konghq.com/gateway/latest/admin-api/#upstream-object), and it is applied to Kong Upstream objects created by the controller.
It can be attached to Services. To attach it to a Service, it has to be annotated with `konghq.com/upstream-policy: <name>`, where `<name>` is the name of the KongUpstreamPolicy object in the same namespace as the Service.
When attached to a Service, it will affect all Kong Upstreams created for the Service.
When attached to a Service used in a Gateway API *Route rule with multiple BackendRefs, all of its Services MUST be configured with the same KongUpstreamPolicy. Otherwise, the controller will *ignore* the KongUpstreamPolicy.
Note: KongUpstreamPolicy doesn't implement Gateway API's GEP-713 strictly. In particular, it doesn't use the TargetRef for attaching to Services and Gateway API *Routes - annotations are used instead. This is to allow reusing the same KongUpstreamPolicy for multiple Services and Gateway API *Routes.
+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced,shortName=kup,categories=kong-ingress-controller +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:metadata:labels=gateway.networking.k8s.io/policy=direct +kubebuilder:validation:XValidation:rule="has(self.spec.hashOn) ? [has(self.spec.hashOn.input), has(self.spec.hashOn.cookie), has(self.spec.hashOn.header), has(self.spec.hashOn.uriCapture), has(self.spec.hashOn.queryArg)].filter(fieldSet, fieldSet == true).size() <= 1 : true", message="Only one of spec.hashOn.(input|cookie|header|uriCapture|queryArg) can be set." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOn) && has(self.spec.hashOn.cookie) ? has(self.spec.hashOn.cookiePath) : true", message="When spec.hashOn.cookie is set, spec.hashOn.cookiePath is required." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOn) && has(self.spec.hashOn.cookiePath) ? has(self.spec.hashOn.cookie) : true", message="When spec.hashOn.cookiePath is set, spec.hashOn.cookie is required." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOn) ? has(self.spec.algorithm) && self.spec.algorithm == \"consistent-hashing\" : true", message="spec.algorithm must be set to \"consistent-hashing\" when spec.hashOn is set." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOnFallback) ? [has(self.spec.hashOnFallback.input), has(self.spec.hashOnFallback.header), has(self.spec.hashOnFallback.uriCapture), has(self.spec.hashOnFallback.queryArg)].filter(fieldSet, fieldSet == true).size() <= 1 : true", message="Only one of spec.hashOnFallback.(input|header|uriCapture|queryArg) can be set." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOnFallback) ? has(self.spec.algorithm) && self.spec.algorithm == \"consistent-hashing\" : true", message="spec.algorithm must be set to \"consistent-hashing\" when spec.hashOnFallback is set." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOnFallback) ? !has(self.spec.hashOnFallback.cookie) : true", message="spec.hashOnFallback.cookie must not be set." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOnFallback) ? !has(self.spec.hashOnFallback.cookiePath) : true", message="spec.hashOnFallback.cookiePath must not be set." +kubebuilder:validation:XValidation:rule="has(self.spec.healthchecks) && has(self.spec.healthchecks.passive) && has(self.spec.healthchecks.passive.healthy) ? !has(self.spec.healthchecks.passive.healthy.interval) : true", message="spec.healthchecks.passive.healthy.interval must not be set." +kubebuilder:validation:XValidation:rule="has(self.spec.healthchecks) && has(self.spec.healthchecks.passive) && has(self.spec.healthchecks.passive.unhealthy) ? !has(self.spec.healthchecks.passive.unhealthy.interval) : true", message="spec.healthchecks.passive.unhealthy.interval must not be set." +kubebuilder:validation:XValidation:rule="has(self.spec.hashOn) && has(self.spec.hashOn.cookie) ? !has(self.spec.hashOnFallback) : true", message="spec.hashOnFallback must not be set when spec.hashOn.cookie is set."
func (*KongUpstreamPolicy) DeepCopy ¶
func (in *KongUpstreamPolicy) DeepCopy() *KongUpstreamPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamPolicy.
func (*KongUpstreamPolicy) DeepCopyInto ¶
func (in *KongUpstreamPolicy) DeepCopyInto(out *KongUpstreamPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KongUpstreamPolicy) DeepCopyObject ¶
func (in *KongUpstreamPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KongUpstreamPolicyList ¶
type KongUpstreamPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KongUpstreamPolicy `json:"items"` }
KongUpstreamPolicyList contains a list of KongUpstreamPolicy. +kubebuilder:object:root=true
func (*KongUpstreamPolicyList) DeepCopy ¶
func (in *KongUpstreamPolicyList) DeepCopy() *KongUpstreamPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamPolicyList.
func (*KongUpstreamPolicyList) DeepCopyInto ¶
func (in *KongUpstreamPolicyList) DeepCopyInto(out *KongUpstreamPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KongUpstreamPolicyList) DeepCopyObject ¶
func (in *KongUpstreamPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KongUpstreamPolicySpec ¶
type KongUpstreamPolicySpec struct { // Algorithm is the load balancing algorithm to use. // Accepted values are: "round-robin", "consistent-hashing", "least-connections", "latency". // +kubebuilder:validation:Enum=round-robin;consistent-hashing;least-connections;latency Algorithm *string `json:"algorithm,omitempty"` // Slots is the number of slots in the load balancer algorithm. // If not set, the default value in Kong for the algorithm is used. // +kubebuilder:validation:Minimum=10 // +kubebuilder:validation:Maximum=65536 Slots *int `json:"slots,omitempty"` // HashOn defines how to calculate hash for consistent-hashing load balancing algorithm. // Algorithm must be set to "consistent-hashing" for this field to have effect. HashOn *KongUpstreamHash `json:"hashOn,omitempty"` // HashOnFallback defines how to calculate hash for consistent-hashing load balancing algorithm if the primary hash // function fails. // Algorithm must be set to "consistent-hashing" for this field to have effect. HashOnFallback *KongUpstreamHash `json:"hashOnFallback,omitempty"` // Healthchecks defines the health check configurations in Kong. Healthchecks *KongUpstreamHealthcheck `json:"healthchecks,omitempty"` }
KongUpstreamPolicySpec contains the specification for KongUpstreamPolicy.
func (*KongUpstreamPolicySpec) DeepCopy ¶
func (in *KongUpstreamPolicySpec) DeepCopy() *KongUpstreamPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamPolicySpec.
func (*KongUpstreamPolicySpec) DeepCopyInto ¶
func (in *KongUpstreamPolicySpec) DeepCopyInto(out *KongUpstreamPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPIngress ¶
type TCPIngress struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the TCPIngress specification. Spec TCPIngressSpec `json:"spec,omitempty"` Status TCPIngressStatus `json:"status,omitempty"` }
TCPIngress is the Schema for the tcpingresses API.
func (*TCPIngress) DeepCopy ¶
func (in *TCPIngress) DeepCopy() *TCPIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIngress.
func (*TCPIngress) DeepCopyInto ¶
func (in *TCPIngress) DeepCopyInto(out *TCPIngress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPIngress) DeepCopyObject ¶
func (in *TCPIngress) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TCPIngressList ¶
type TCPIngressList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TCPIngress `json:"items"` }
TCPIngressList contains a list of TCPIngress.
func (*TCPIngressList) DeepCopy ¶
func (in *TCPIngressList) DeepCopy() *TCPIngressList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIngressList.
func (*TCPIngressList) DeepCopyInto ¶
func (in *TCPIngressList) DeepCopyInto(out *TCPIngressList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPIngressList) DeepCopyObject ¶
func (in *TCPIngressList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TCPIngressSpec ¶
type TCPIngressSpec struct { // A list of rules used to configure the Ingress. Rules []IngressRule `json:"rules,omitempty"` // TLS configuration. This is similar to the `tls` section in the // Ingress resource in networking.v1beta1 group. // The mapping of SNIs to TLS cert-key pair defined here will be // used for HTTP Ingress rules as well. Once can define the mapping in // this resource or the original Ingress resource, both have the same // effect. TLS []IngressTLS `json:"tls,omitempty"` }
TCPIngressSpec defines the desired state of TCPIngress.
func (*TCPIngressSpec) DeepCopy ¶
func (in *TCPIngressSpec) DeepCopy() *TCPIngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIngressSpec.
func (*TCPIngressSpec) DeepCopyInto ¶
func (in *TCPIngressSpec) DeepCopyInto(out *TCPIngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPIngressStatus ¶
type TCPIngressStatus struct { // LoadBalancer contains the current status of the load-balancer. LoadBalancer corev1.LoadBalancerStatus `json:"loadBalancer,omitempty"` }
TCPIngressStatus defines the observed state of TCPIngress.
func (*TCPIngressStatus) DeepCopy ¶
func (in *TCPIngressStatus) DeepCopy() *TCPIngressStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIngressStatus.
func (*TCPIngressStatus) DeepCopyInto ¶
func (in *TCPIngressStatus) DeepCopyInto(out *TCPIngressStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPIngress ¶
type UDPIngress struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the UDPIngress specification. Spec UDPIngressSpec `json:"spec,omitempty"` Status UDPIngressStatus `json:"status,omitempty"` }
UDPIngress is the Schema for the udpingresses API.
func (*UDPIngress) DeepCopy ¶
func (in *UDPIngress) DeepCopy() *UDPIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPIngress.
func (*UDPIngress) DeepCopyInto ¶
func (in *UDPIngress) DeepCopyInto(out *UDPIngress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UDPIngress) DeepCopyObject ¶
func (in *UDPIngress) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UDPIngressList ¶
type UDPIngressList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []UDPIngress `json:"items"` }
UDPIngressList contains a list of UDPIngress.
func (*UDPIngressList) DeepCopy ¶
func (in *UDPIngressList) DeepCopy() *UDPIngressList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPIngressList.
func (*UDPIngressList) DeepCopyInto ¶
func (in *UDPIngressList) DeepCopyInto(out *UDPIngressList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UDPIngressList) DeepCopyObject ¶
func (in *UDPIngressList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UDPIngressRule ¶
type UDPIngressRule struct { // Port indicates the port for the Kong proxy to accept incoming traffic // on, which will then be routed to the service Backend. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Format=int32 Port int `json:"port"` // Backend defines the Kubernetes service which accepts traffic from the // listening Port defined above. Backend IngressBackend `json:"backend"` }
UDPIngressRule represents a rule to apply against incoming requests wherein no Host matching is available for request routing, only the port is used to match requests.
func (*UDPIngressRule) DeepCopy ¶
func (in *UDPIngressRule) DeepCopy() *UDPIngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPIngressRule.
func (*UDPIngressRule) DeepCopyInto ¶
func (in *UDPIngressRule) DeepCopyInto(out *UDPIngressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPIngressSpec ¶
type UDPIngressSpec struct { // A list of rules used to configure the Ingress. Rules []UDPIngressRule `json:"rules,omitempty"` }
UDPIngressSpec defines the desired state of UDPIngress.
func (*UDPIngressSpec) DeepCopy ¶
func (in *UDPIngressSpec) DeepCopy() *UDPIngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPIngressSpec.
func (*UDPIngressSpec) DeepCopyInto ¶
func (in *UDPIngressSpec) DeepCopyInto(out *UDPIngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPIngressStatus ¶
type UDPIngressStatus struct { // LoadBalancer contains the current status of the load-balancer. LoadBalancer corev1.LoadBalancerStatus `json:"loadBalancer,omitempty"` }
UDPIngressStatus defines the observed state of UDPIngress.
func (*UDPIngressStatus) DeepCopy ¶
func (in *UDPIngressStatus) DeepCopy() *UDPIngressStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPIngressStatus.
func (*UDPIngressStatus) DeepCopyInto ¶
func (in *UDPIngressStatus) DeepCopyInto(out *UDPIngressStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.