v1beta1

package
v3.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 6 Imported by: 1

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

View Source
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

View Source
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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamActiveHealthcheck.

func (*KongUpstreamActiveHealthcheck) DeepCopyInto

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamHealthcheckHealthy.

func (*KongUpstreamHealthcheckHealthy) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamHealthcheckUnhealthy.

func (*KongUpstreamHealthcheckUnhealthy) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongUpstreamPassiveHealthcheck.

func (*KongUpstreamPassiveHealthcheck) DeepCopyInto

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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL