v1beta1

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package,register +k8s:conversion-gen=voyagermesh.dev/apimachinery/apis/voyager/v1 +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta +groupName=voyager.appscode.com

Index

Constants

View Source
const (
	ResourceKindIngress = "Ingress"
	ResourceIngress     = "ingress"
	ResourceIngresses   = "ingresses"
)

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: voyager.GroupName, Version: "v1beta1"}

Functions

func Convert_int32_To_intstr_IntOrString

func Convert_int32_To_intstr_IntOrString(in *int32, out *intstr.IntOrString, s conversion.Scope) error

func Convert_intstr_IntOrString_To_int32

func Convert_intstr_IntOrString_To_int32(in *intstr.IntOrString, out *int32, s conversion.Scope) error

func Convert_v1_AuthOption_To_v1beta1_AuthOption

func Convert_v1_AuthOption_To_v1beta1_AuthOption(in *v1.AuthOption, out *AuthOption, s conversion.Scope) error

Convert_v1_AuthOption_To_v1beta1_AuthOption is an autogenerated conversion function.

func Convert_v1_BasicAuth_To_v1beta1_BasicAuth

func Convert_v1_BasicAuth_To_v1beta1_BasicAuth(in *v1.BasicAuth, out *BasicAuth, s conversion.Scope) error

Convert_v1_BasicAuth_To_v1beta1_BasicAuth is an autogenerated conversion function.

func Convert_v1_CoordinatorSpec_To_v1beta1_CoordinatorSpec

func Convert_v1_CoordinatorSpec_To_v1beta1_CoordinatorSpec(in *v1.CoordinatorSpec, out *CoordinatorSpec, s conversion.Scope) error

Convert_v1_CoordinatorSpec_To_v1beta1_CoordinatorSpec is an autogenerated conversion function.

func Convert_v1_FrontendRule_To_v1beta1_FrontendRule

func Convert_v1_FrontendRule_To_v1beta1_FrontendRule(in *v1.FrontendRule, out *FrontendRule, s conversion.Scope) error

Convert_v1_FrontendRule_To_v1beta1_FrontendRule is an autogenerated conversion function.

func Convert_v1_HTTPIngressPath_To_v1beta1_HTTPIngressPath

func Convert_v1_HTTPIngressPath_To_v1beta1_HTTPIngressPath(in *v1.HTTPIngressPath, out *HTTPIngressPath, s conversion.Scope) error

Convert_v1_HTTPIngressPath_To_v1beta1_HTTPIngressPath is an autogenerated conversion function.

func Convert_v1_HTTPIngressRuleValue_To_v1beta1_HTTPIngressRuleValue

func Convert_v1_HTTPIngressRuleValue_To_v1beta1_HTTPIngressRuleValue(in *v1.HTTPIngressRuleValue, out *HTTPIngressRuleValue, s conversion.Scope) error

Convert_v1_HTTPIngressRuleValue_To_v1beta1_HTTPIngressRuleValue is an autogenerated conversion function.

func Convert_v1_IngressBackend_To_v1beta1_HTTPIngressBackend added in v0.1.3

func Convert_v1_IngressBackend_To_v1beta1_HTTPIngressBackend(in *v1.IngressBackend, out *HTTPIngressBackend, s conversion.Scope) error

func Convert_v1_IngressBackend_To_v1beta1_IngressBackend

func Convert_v1_IngressBackend_To_v1beta1_IngressBackend(in *v1.IngressBackend, out *IngressBackend, s conversion.Scope) error

func Convert_v1_IngressList_To_v1beta1_IngressList

func Convert_v1_IngressList_To_v1beta1_IngressList(in *v1.IngressList, out *IngressList, s conversion.Scope) error

Convert_v1_IngressList_To_v1beta1_IngressList is an autogenerated conversion function.

func Convert_v1_IngressRef_To_v1beta1_IngressRef

func Convert_v1_IngressRef_To_v1beta1_IngressRef(in *v1.IngressRef, out *IngressRef, s conversion.Scope) error

Convert_v1_IngressRef_To_v1beta1_IngressRef is an autogenerated conversion function.

func Convert_v1_IngressRuleValue_To_v1beta1_IngressRuleValue

func Convert_v1_IngressRuleValue_To_v1beta1_IngressRuleValue(in *v1.IngressRuleValue, out *IngressRuleValue, s conversion.Scope) error

Convert_v1_IngressRuleValue_To_v1beta1_IngressRuleValue is an autogenerated conversion function.

func Convert_v1_IngressRule_To_v1beta1_IngressRule

func Convert_v1_IngressRule_To_v1beta1_IngressRule(in *v1.IngressRule, out *IngressRule, s conversion.Scope) error

Convert_v1_IngressRule_To_v1beta1_IngressRule is an autogenerated conversion function.

func Convert_v1_IngressSpec_To_v1beta1_IngressSpec

func Convert_v1_IngressSpec_To_v1beta1_IngressSpec(in *v1.IngressSpec, out *IngressSpec, s conversion.Scope) error

func Convert_v1_IngressStatus_To_v1beta1_IngressStatus

func Convert_v1_IngressStatus_To_v1beta1_IngressStatus(in *v1.IngressStatus, out *IngressStatus, s conversion.Scope) error

Convert_v1_IngressStatus_To_v1beta1_IngressStatus is an autogenerated conversion function.

func Convert_v1_IngressTLS_To_v1beta1_IngressTLS

func Convert_v1_IngressTLS_To_v1beta1_IngressTLS(in *v1.IngressTLS, out *IngressTLS, s conversion.Scope) error

Convert_v1_IngressTLS_To_v1beta1_IngressTLS is an autogenerated conversion function.

func Convert_v1_Ingress_To_v1beta1_Ingress

func Convert_v1_Ingress_To_v1beta1_Ingress(in *v1.Ingress, out *Ingress, s conversion.Scope) error

Convert_v1_Ingress_To_v1beta1_Ingress is an autogenerated conversion function.

func Convert_v1_OAuth_To_v1beta1_OAuth

func Convert_v1_OAuth_To_v1beta1_OAuth(in *v1.OAuth, out *OAuth, s conversion.Scope) error

Convert_v1_OAuth_To_v1beta1_OAuth is an autogenerated conversion function.

func Convert_v1_TCPIngressRuleValue_To_v1beta1_TCPIngressRuleValue

func Convert_v1_TCPIngressRuleValue_To_v1beta1_TCPIngressRuleValue(in *v1.TCPIngressRuleValue, out *TCPIngressRuleValue, s conversion.Scope) error

Convert_v1_TCPIngressRuleValue_To_v1beta1_TCPIngressRuleValue is an autogenerated conversion function.

func Convert_v1_TLSAuth_To_v1beta1_TLSAuth

func Convert_v1_TLSAuth_To_v1beta1_TLSAuth(in *v1.TLSAuth, out *TLSAuth, s conversion.Scope) error

Convert_v1_TLSAuth_To_v1beta1_TLSAuth is an autogenerated conversion function.

func Convert_v1_VolumeSource_To_v1beta1_VolumeSource

func Convert_v1_VolumeSource_To_v1beta1_VolumeSource(in *v1.VolumeSource, out *VolumeSource, s conversion.Scope) error

Convert_v1_VolumeSource_To_v1beta1_VolumeSource is an autogenerated conversion function.

func Convert_v1beta1_AuthOption_To_v1_AuthOption

func Convert_v1beta1_AuthOption_To_v1_AuthOption(in *AuthOption, out *v1.AuthOption, s conversion.Scope) error

Convert_v1beta1_AuthOption_To_v1_AuthOption is an autogenerated conversion function.

func Convert_v1beta1_BasicAuth_To_v1_BasicAuth

func Convert_v1beta1_BasicAuth_To_v1_BasicAuth(in *BasicAuth, out *v1.BasicAuth, s conversion.Scope) error

Convert_v1beta1_BasicAuth_To_v1_BasicAuth is an autogenerated conversion function.

func Convert_v1beta1_CoordinatorSpec_To_v1_CoordinatorSpec

func Convert_v1beta1_CoordinatorSpec_To_v1_CoordinatorSpec(in *CoordinatorSpec, out *v1.CoordinatorSpec, s conversion.Scope) error

Convert_v1beta1_CoordinatorSpec_To_v1_CoordinatorSpec is an autogenerated conversion function.

func Convert_v1beta1_FrontendRule_To_v1_FrontendRule

func Convert_v1beta1_FrontendRule_To_v1_FrontendRule(in *FrontendRule, out *v1.FrontendRule, s conversion.Scope) error

Convert_v1beta1_FrontendRule_To_v1_FrontendRule is an autogenerated conversion function.

func Convert_v1beta1_HTTPIngressBackend_To_v1_IngressBackend added in v0.1.3

func Convert_v1beta1_HTTPIngressBackend_To_v1_IngressBackend(in *HTTPIngressBackend, out *v1.IngressBackend, s conversion.Scope) error

func Convert_v1beta1_HTTPIngressPath_To_v1_HTTPIngressPath

func Convert_v1beta1_HTTPIngressPath_To_v1_HTTPIngressPath(in *HTTPIngressPath, out *v1.HTTPIngressPath, s conversion.Scope) error

Convert_v1beta1_HTTPIngressPath_To_v1_HTTPIngressPath is an autogenerated conversion function.

func Convert_v1beta1_HTTPIngressRuleValue_To_v1_HTTPIngressRuleValue

func Convert_v1beta1_HTTPIngressRuleValue_To_v1_HTTPIngressRuleValue(in *HTTPIngressRuleValue, out *v1.HTTPIngressRuleValue, s conversion.Scope) error

Convert_v1beta1_HTTPIngressRuleValue_To_v1_HTTPIngressRuleValue is an autogenerated conversion function.

func Convert_v1beta1_IngressBackend_To_v1_IngressBackend

func Convert_v1beta1_IngressBackend_To_v1_IngressBackend(in *IngressBackend, out *v1.IngressBackend, s conversion.Scope) error

func Convert_v1beta1_IngressList_To_v1_IngressList

func Convert_v1beta1_IngressList_To_v1_IngressList(in *IngressList, out *v1.IngressList, s conversion.Scope) error

Convert_v1beta1_IngressList_To_v1_IngressList is an autogenerated conversion function.

func Convert_v1beta1_IngressRef_To_v1_IngressRef

func Convert_v1beta1_IngressRef_To_v1_IngressRef(in *IngressRef, out *v1.IngressRef, s conversion.Scope) error

Convert_v1beta1_IngressRef_To_v1_IngressRef is an autogenerated conversion function.

func Convert_v1beta1_IngressRuleValue_To_v1_IngressRuleValue

func Convert_v1beta1_IngressRuleValue_To_v1_IngressRuleValue(in *IngressRuleValue, out *v1.IngressRuleValue, s conversion.Scope) error

Convert_v1beta1_IngressRuleValue_To_v1_IngressRuleValue is an autogenerated conversion function.

func Convert_v1beta1_IngressRule_To_v1_IngressRule

func Convert_v1beta1_IngressRule_To_v1_IngressRule(in *IngressRule, out *v1.IngressRule, s conversion.Scope) error

Convert_v1beta1_IngressRule_To_v1_IngressRule is an autogenerated conversion function.

func Convert_v1beta1_IngressSpec_To_v1_IngressSpec

func Convert_v1beta1_IngressSpec_To_v1_IngressSpec(in *IngressSpec, out *v1.IngressSpec, s conversion.Scope) error

func Convert_v1beta1_IngressStatus_To_v1_IngressStatus

func Convert_v1beta1_IngressStatus_To_v1_IngressStatus(in *IngressStatus, out *v1.IngressStatus, s conversion.Scope) error

Convert_v1beta1_IngressStatus_To_v1_IngressStatus is an autogenerated conversion function.

func Convert_v1beta1_IngressTLS_To_v1_IngressTLS

func Convert_v1beta1_IngressTLS_To_v1_IngressTLS(in *IngressTLS, out *v1.IngressTLS, s conversion.Scope) error

func Convert_v1beta1_Ingress_To_v1_Ingress

func Convert_v1beta1_Ingress_To_v1_Ingress(in *Ingress, out *v1.Ingress, s conversion.Scope) error

Convert_v1beta1_Ingress_To_v1_Ingress is an autogenerated conversion function.

func Convert_v1beta1_OAuth_To_v1_OAuth

func Convert_v1beta1_OAuth_To_v1_OAuth(in *OAuth, out *v1.OAuth, s conversion.Scope) error

Convert_v1beta1_OAuth_To_v1_OAuth is an autogenerated conversion function.

func Convert_v1beta1_TCPIngressRuleValue_To_v1_TCPIngressRuleValue

func Convert_v1beta1_TCPIngressRuleValue_To_v1_TCPIngressRuleValue(in *TCPIngressRuleValue, out *v1.TCPIngressRuleValue, s conversion.Scope) error

Convert_v1beta1_TCPIngressRuleValue_To_v1_TCPIngressRuleValue is an autogenerated conversion function.

func Convert_v1beta1_TLSAuth_To_v1_TLSAuth

func Convert_v1beta1_TLSAuth_To_v1_TLSAuth(in *TLSAuth, out *v1.TLSAuth, s conversion.Scope) error

Convert_v1beta1_TLSAuth_To_v1_TLSAuth is an autogenerated conversion function.

func Convert_v1beta1_VolumeSource_To_v1_VolumeSource

func Convert_v1beta1_VolumeSource_To_v1_VolumeSource(in *VolumeSource, out *v1.VolumeSource, s conversion.Scope) error

Convert_v1beta1_VolumeSource_To_v1_VolumeSource is an autogenerated conversion function.

func RegisterConversions

func RegisterConversions(s *runtime.Scheme) error

RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AuthOption

type AuthOption struct {
	Basic *BasicAuth `json:"basic,omitempty"`
	TLS   *TLSAuth   `json:"tls,omitempty"`
	OAuth []OAuth    `json:"oauth,omitempty"`
}

func (*AuthOption) DeepCopy

func (in *AuthOption) DeepCopy() *AuthOption

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

func (*AuthOption) DeepCopyInto

func (in *AuthOption) DeepCopyInto(out *AuthOption)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BasicAuth

type BasicAuth struct {
	SecretName string `json:"secretName,omitempty"`
	Realm      string `json:"realm,omitempty"`
}

func (*BasicAuth) DeepCopy

func (in *BasicAuth) DeepCopy() *BasicAuth

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

func (*BasicAuth) DeepCopyInto

func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CoordinatorSpec

type CoordinatorSpec struct {
	// Compute Resources required by coordinator container.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	// +optional
	Resources core.ResourceRequirements `json:"resources,omitempty"`

	// Security options the coordinator container should run with.
	// More info: https://kubernetes.io/docs/concepts/policy/security-context/
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
	// +optional
	SecurityContext *core.SecurityContext `json:"securityContext,omitempty"`
}

CoordinatorSpec defines attributes of the coordinator container

func (*CoordinatorSpec) DeepCopy

func (in *CoordinatorSpec) DeepCopy() *CoordinatorSpec

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

func (*CoordinatorSpec) DeepCopyInto

func (in *CoordinatorSpec) DeepCopyInto(out *CoordinatorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FrontendRule

type FrontendRule struct {
	// Port indicates the frontend port where HAProxy is listening for connection
	Port intstr.IntOrString `json:"port,omitempty"`
	// Serialized rules
	Rules []string `json:"rules,omitempty"`

	Auth *AuthOption `json:"auth,omitempty"`
}

func (*FrontendRule) DeepCopy

func (in *FrontendRule) DeepCopy() *FrontendRule

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

func (*FrontendRule) DeepCopyInto

func (in *FrontendRule) DeepCopyInto(out *FrontendRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPIngressBackend

type HTTPIngressBackend struct {
	IngressBackend `json:",inline,omitempty"`

	// Path rewrite rules with haproxy formatted regex.
	//
	// Deprecated: Use backendRule, will be removed.
	// +optional
	RewriteRules []string `json:"rewriteRules,omitempty"`

	// Header rules to modifies the header.
	//
	// Deprecated: Use backendRule, will be removed.
	// +optional
	HeaderRules []string `json:"headerRules,omitempty"`
}

func (*HTTPIngressBackend) DeepCopy

func (in *HTTPIngressBackend) DeepCopy() *HTTPIngressBackend

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

func (*HTTPIngressBackend) DeepCopyInto

func (in *HTTPIngressBackend) DeepCopyInto(out *HTTPIngressBackend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPIngressPath

type HTTPIngressPath struct {
	// Path is a extended POSIX regex as defined by IEEE Std 1003.1,
	// (i.e this follows the egrep/unix syntax, not the perl syntax)
	// matched against the path of an incoming request. Currently it can
	// contain characters disallowed from the conventional "path"
	// part of a URL as defined by RFC 3986. Paths must begin with
	// a '/'. If unspecified, the path defaults to a catch all sending
	// traffic to the backend.
	Path string `json:"path,omitempty"`

	// Backend defines the referenced service endpoint to which the traffic
	// will be forwarded to.
	Backend HTTPIngressBackend `json:"backend,omitempty"`
}

HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.

func (*HTTPIngressPath) DeepCopy

func (in *HTTPIngressPath) DeepCopy() *HTTPIngressPath

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

func (*HTTPIngressPath) DeepCopyInto

func (in *HTTPIngressPath) DeepCopyInto(out *HTTPIngressPath)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPIngressRuleValue

type HTTPIngressRuleValue struct {
	// The network address to listen HTTP(s) connections on.
	Address string `json:"address,omitempty"`

	// port to listen http(s) connections.
	Port intstr.IntOrString `json:"port,omitempty"`

	// Set noTLS = true to force plain text. Else, auto detect like present
	NoTLS bool `json:"noTLS,omitempty"`

	// Specifies the node port of the referenced service.
	NodePort intstr.IntOrString `json:"nodePort,omitempty"`

	// Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS)
	// extension for application layer protocol negotiation. ALPN allows the application
	// layer to negotiate which protocol should be performed over a secure connection in a
	// manner which avoids additional round trips and which is independent of the application
	// layer protocols. It is used by HTTP/2.
	// If provided a list of alpn will be added to port as alpn option1,option2,...
	// If SecretName is Provided this secret will be used to terminate SSL with alpn options.
	// If Secret name is not provided backend server is responsible for handling SSL.
	// Note that, the order of the options indicates the preference
	// If the ALPN list contains "h2",  "option http-use-htx" will be added to enable HTX mode
	// https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#option%20http-use-htx
	// https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#alpn
	ALPN []string `json:"alpn,omitempty"`

	// HTTP protocol to use
	// If the Proto contains "h2",  "option http-use-htx" will be added to enable HTX mode
	// https://www.haproxy.com/blog/haproxy-1-9-2-adds-grpc-support/
	Proto string `json:"proto,omitempty"`

	// A collection of paths that map requests to backends.
	Paths []HTTPIngressPath `json:"paths"`
}

HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://<host>/<path>?<searchpart> -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.

func (*HTTPIngressRuleValue) DeepCopy

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

func (*HTTPIngressRuleValue) DeepCopyInto

func (in *HTTPIngressRuleValue) DeepCopyInto(out *HTTPIngressRuleValue)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Ingress

type Ingress struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              IngressSpec   `json:"spec,omitempty"`
	Status            IngressStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=ingresses,singular=ingress,shortName=ing,categories={networking,appscode,all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Hosts",type="string",JSONPath=".spec.rules[0].host" +kubebuilder:printcolumn:name="LOAD_BALANCER_IP",type="string",JSONPath=".status.loadBalancer.ingress" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Ingress) ConvertFrom

func (dst *Ingress) ConvertFrom(srcRaw kbconv.Hub) (err error)

ConvertFrom converts from the Hub version (v1) to this version.

func (*Ingress) ConvertTo

func (src *Ingress) ConvertTo(dstRaw kbconv.Hub) (err error)

ConvertTo converts this to the Hub version (v1).

func (Ingress) CustomResourceDefinition

func (r Ingress) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*Ingress) DeepCopy

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Ingress) DeepCopyObject

func (in *Ingress) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressBackend

type IngressBackend struct {
	// User can specify backend name for using it with custom acl
	// Otherwise it will be generated
	Name string `json:"name,omitempty"`

	// Host names to forward traffic to. If empty traffic will be
	// forwarded to all subsets instance.
	// If set only matched hosts will get the traffic.
	// This is an handy way to send traffic to Specific
	// StatefulSet pod.
	// IE. Setting [web-0] will send traffic to only web-0 host
	// for this StatefulSet, https://kubernetes.io/docs/tasks/stateful-application/basic-stateful-set/#creating-a-statefulset
	HostNames []string `json:"hostNames,omitempty"`

	// Specifies the name of the referenced service.
	ServiceName string `json:"serviceName,omitempty"`

	// Specifies the port of the referenced service.
	ServicePort intstr.IntOrString `json:"servicePort,omitempty"`

	// Serialized HAProxy rules to apply on server backend including
	// request, response or header rewrite. acls also can be used.
	// https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#1
	BackendRules []string `json:"backendRules,omitempty"`

	// Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS)
	// extension for application layer protocol negotiation. ALPN allows the application
	// layer to negotiate which protocol should be performed over a secure connection in a
	// manner which avoids additional round trips and which is independent of the application
	// layer protocols. It is used by HTTP/2.
	// If provided a list of alpn will be added to port as alpn option1,option2,...
	// If SecretName is Provided this secret will be used to terminate SSL with alpn options.
	// If Secret name is not provided backend server is responsible for handling SSL.
	// Note that, the order of the options indicates the preference
	// If the ALPN list contains "h2",  "option http-use-htx" will be added to enable HTX mode
	// https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#option%20http-use-htx
	// https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#alpn
	ALPN []string `json:"alpn,omitempty"`

	// HTTP protocol to use
	// If the Proto contains "h2",  "option http-use-htx" will be added to enable HTX mode
	// https://www.haproxy.com/blog/haproxy-1-9-2-adds-grpc-support/
	Proto string `json:"proto,omitempty"`

	// Define the load balancing algorithm to be used in a backend.
	// https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#balance
	LoadBalanceOn string `json:"loadBalanceOn,omitempty"`
}

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 IngressList

type IngressList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: http://releases.k8s.io/release-1.2/docs/devel/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of Ingress.
	Items []Ingress `json:"items"`
}

IngressList is a collection of Ingress.

func (*IngressList) DeepCopy

func (in *IngressList) DeepCopy() *IngressList

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

func (*IngressList) DeepCopyInto

func (in *IngressList) DeepCopyInto(out *IngressList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressList) DeepCopyObject

func (in *IngressList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IngressRef

type IngressRef struct {
	APISchema string `json:"apiSchema"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

func (*IngressRef) DeepCopy

func (in *IngressRef) DeepCopy() *IngressRef

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

func (*IngressRef) DeepCopyInto

func (in *IngressRef) DeepCopyInto(out *IngressRef)

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. Note the following deviations from the "host" part of the
	// URI as defined in the RFC:
	// 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the
	//	  IP in the Spec of the parent Ingress.
	// 2. The `:` delimiter is not respected because ports are not allowed.
	//	  Currently the port of an Ingress is implicitly :80 for http and
	//	  :443 for https.
	// Both these may change in the future.
	// Incoming requests are matched against the host before the IngressRuleValue.
	// If the host is unspecified, the Ingress routes all traffic based on the
	// specified IngressRuleValue.
	Host string `json:"host,omitempty"`
	// IngressRuleValue represents a rule to route requests for this IngressRule.
	// If unspecified, the rule defaults to a http catch-all. Whether that sends
	// just traffic matching the host to the default backend or all traffic to the
	// default backend, is left to the controller fulfilling the Ingress. Http and TCP are
	// currently supported IngressRuleValue.
	IngressRuleValue `json:",inline,omitempty"`
}

IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.

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 IngressRuleValue

type IngressRuleValue struct {
	HTTP *HTTPIngressRuleValue `json:"http,omitempty"`

	TCP *TCPIngressRuleValue `json:"tcp,omitempty"`
}

IngressRuleValue represents a rule to apply against incoming requests. If the rule is satisfied, the request is routed to the specified backend. Currently mixing different types of rules in a single Ingress is disallowed, so exactly one of the following must be set.

func (*IngressRuleValue) DeepCopy

func (in *IngressRuleValue) DeepCopy() *IngressRuleValue

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

func (*IngressRuleValue) DeepCopyInto

func (in *IngressRuleValue) DeepCopyInto(out *IngressRuleValue)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressSpec

type IngressSpec struct {
	// A default backend capable of servicing requests that don't match any
	// rule. At least one of 'backend' or 'rules' must be specified. This field
	// is optional to allow the loadbalancer controller or defaulting logic to
	// specify a global default.
	Backend *HTTPIngressBackend `json:"backend,omitempty"`

	// TLS is the TLS configuration. Currently the Ingress only supports a single TLS
	// port, 443, and assumes TLS termination. If multiple members of this
	// list specify different hosts, they will be multiplexed on the same
	// port according to the hostname specified through the SNI TLS extension.
	TLS []IngressTLS `json:"tls,omitempty"`

	// Config volumes are used to mount any secret or configmap into HAProxy pods.
	ConfigVolumes []VolumeSource `json:"configVolumes,omitempty"`

	// Frontend rules specifies a set of rules that should be applied in
	// HAProxy frontend configuration. The set of keywords are from here
	// https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4.1
	// Only frontend sections can be applied here. It is up to user to
	// provide valid set of rules.
	// This allows acls or other options in frontend sections in HAProxy config.
	// Frontend rules will be mapped with Ingress Rules according to port.
	FrontendRules []FrontendRule `json:"frontendRules,omitempty"`

	// A list of host rules used to configure the Ingress. If unspecified, or
	// no rule matches, all traffic is sent to the default backend.
	Rules []IngressRule `json:"rules,omitempty"`

	// Optional: If specified and supported by the platform, this will restrict traffic through the cloud-provider
	// load-balancer will be restricted to the specified client IPs. This field will be ignored if the
	// cloud-provider does not support the feature.
	// https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/
	LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`

	// Compute Resources required by the sidecar container.
	// +optional
	Resources core.ResourceRequirements `json:"resources,omitempty"`

	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *core.Affinity `json:"affinity,omitempty"`

	// If specified, the pod will be dispatched by specified scheduler.
	// If not specified, the pod will be dispatched by default scheduler.
	// +optional
	SchedulerName string `json:"schedulerName,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []core.Toleration `json:"tolerations,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use. For example,
	// in the case of docker, only DockerConfig type secrets are honored.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	ImagePullSecrets []core.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// If specified, indicates the pod's priority. "system-node-critical" and
	// "system-cluster-critical" are two special keywords which indicate the
	// highest priorities with the former being the highest priority. Any other
	// name must be defined by creating a PriorityClass object with that name.
	// If not specified, the pod priority will be default or zero if there is no
	// default.
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`
	// The priority value. Various system components use this field to find the
	// priority of the pod. When Priority Admission Controller is enabled, it
	// prevents users from setting this field. The admission controller populates
	// this field from PriorityClassName.
	// The higher the value, the higher the priority.
	// +optional
	Priority *int32 `json:"priority,omitempty"`

	// SecurityContext holds pod-level security attributes and common container settings.
	// Optional: Defaults to empty.  See type description for default values of each field.
	// +optional
	SecurityContext *core.PodSecurityContext `json:"securityContext,omitempty"`

	// Security options the pod should run with.
	// More info: https://kubernetes.io/docs/concepts/policy/security-context/
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
	// +optional
	ProxySecurityContext *core.SecurityContext `json:"proxySecurityContext,omitempty"`

	// externalIPs is a list of IP addresses for which nodes in the cluster
	// will also accept traffic for this service.  These IPs are not managed by
	// Kubernetes.  The user is responsible for ensuring that traffic arrives
	// at a node with this IP.  A common example is external load-balancers
	// that are not part of the Kubernetes system.
	// +optional
	ExternalIPs []string `json:"externalIPs,omitempty"`

	// Periodic probe of container liveness.
	// Container will be restarted if the probe fails.
	// Cannot be updated.
	// +optional
	LivenessProbe *core.Probe `json:"livenessProbe,omitempty"`

	// Periodic probe of container service readiness.
	// Container will be removed from service endpoints if the probe fails.
	// Cannot be updated.
	// +optional
	ReadinessProbe *core.Probe `json:"readinessProbe,omitempty"`

	// Set this value longer than the expected cleanup time for your process.
	// Defaults to 30 seconds.
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// Coordinator defines attributes of the coordinator container
	// +optional
	Coordinator CoordinatorSpec `json:"coordinator,omitempty"`
}

IngressSpec describes the Ingress the user wishes to exist.

func (*IngressSpec) DeepCopy

func (in *IngressSpec) DeepCopy() *IngressSpec

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

func (*IngressSpec) DeepCopyInto

func (in *IngressSpec) DeepCopyInto(out *IngressSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressStatus

type IngressStatus struct {
	// observedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// LoadBalancer contains the current status of the load-balancer.
	LoadBalancer core.LoadBalancerStatus `json:"loadBalancer,omitempty"`
}

IngressStatus describe the current state of the Ingress.

func (*IngressStatus) DeepCopy

func (in *IngressStatus) DeepCopy() *IngressStatus

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

func (*IngressStatus) DeepCopyInto

func (in *IngressStatus) DeepCopyInto(out *IngressStatus)

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 on 443.
	// Field is left optional to allow SSL routing based on SNI hostname alone.
	// If the SNI host in a listener conflicts with the "Host" header field used
	// by an IngressRule, the SNI host is used for termination and value of the
	// Host header is used for routing.
	// Deprecated
	SecretName string `json:"secretName,omitempty"`

	// Ref to used tls termination.
	Ref *LocalTypedReference `json:"ref,omitempty"`
}

IngressTLS describes the transport layer security associated with an Ingress.

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 LocalTypedReference

type LocalTypedReference struct {
	// Kind of the referent.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
	// +optional
	Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"`
	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	// +optional
	Name string `json:"name,omitempty" protobuf:"bytes,3,opt,name=name"`
	// API version of the referent.
	// +optional
	APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,5,opt,name=apiVersion"`
}

LocalTypedReference contains enough information to let you inspect or modify the referred object.

func (*LocalTypedReference) DeepCopy

func (in *LocalTypedReference) DeepCopy() *LocalTypedReference

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

func (*LocalTypedReference) DeepCopyInto

func (in *LocalTypedReference) DeepCopyInto(out *LocalTypedReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuth

type OAuth struct {
	Host        string   `json:"host,omitempty"`
	AuthBackend string   `json:"authBackend,omitempty"`
	AuthPath    string   `json:"authPath,omitempty"`
	SigninPath  string   `json:"signinPath,omitempty"`
	Paths       []string `json:"paths,omitempty"`
}

func (*OAuth) DeepCopy

func (in *OAuth) DeepCopy() *OAuth

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

func (*OAuth) DeepCopyInto

func (in *OAuth) DeepCopyInto(out *OAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPIngressRuleValue

type TCPIngressRuleValue struct {
	// The network address to listen TCP connections on.
	Address string `json:"address,omitempty"`

	// port to listen tcp connections.
	Port intstr.IntOrString `json:"port,omitempty"`

	// Set noTLS = true to force plain text. Else, auto detect like present
	NoTLS bool `json:"noTLS,omitempty"`

	// Specifies the node port of the referenced service.
	NodePort intstr.IntOrString `json:"nodePort,omitempty"`

	// Backend to forward the requests.
	Backend IngressBackend `json:"backend,omitempty"`

	// Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS)
	// extension for application layer protocol negotiation. ALPN allows the application
	// layer to negotiate which protocol should be performed over a secure connection in a
	// manner which avoids additional round trips and which is independent of the application
	// layer protocols. It is used by HTTP/2.
	// If provided a list of alpn will be added to port as alpn option1,option2,...
	// If SecretName is Provided this secret will be used to terminate SSL with alpn options.
	// If Secret name is not provided backend server is responsible for handling SSL.
	// Note that, the order of the options indicates the preference
	// If the ALPN list contains "h2",  "option http-use-htx" will be added to enable HTX mode
	// https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#option%20http-use-htx
	// https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#alpn
	ALPN []string `json:"alpn,omitempty"`

	// HTTP protocol to use
	// If the Proto contains "h2",  "option http-use-htx" will be added to enable HTX mode
	// https://www.haproxy.com/blog/haproxy-1-9-2-adds-grpc-support/
	Proto string `json:"proto,omitempty"`
}

func (*TCPIngressRuleValue) DeepCopy

func (in *TCPIngressRuleValue) DeepCopy() *TCPIngressRuleValue

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

func (*TCPIngressRuleValue) DeepCopyInto

func (in *TCPIngressRuleValue) DeepCopyInto(out *TCPIngressRuleValue)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSAuth

type TLSAuth struct {
	SecretName   string              `json:"secretName,omitempty"`
	VerifyClient TLSAuthVerifyOption `json:"verifyClient,omitempty"`
	Headers      map[string]string   `json:"headers,omitempty"`
	ErrorPage    string              `json:"errorPage,omitempty"`
}

func (*TLSAuth) DeepCopy

func (in *TLSAuth) DeepCopy() *TLSAuth

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

func (*TLSAuth) DeepCopyInto

func (in *TLSAuth) DeepCopyInto(out *TLSAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSAuthVerifyOption

type TLSAuthVerifyOption string
const (
	TLSAuthVerifyOptional TLSAuthVerifyOption = "optional"
	TLSAuthVerifyRequired TLSAuthVerifyOption = "required"
)

type VolumeSource

type VolumeSource struct {
	Name string `json:"name,omitempty"`
	// Secret represents a secret that should populate this volume.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
	// +optional
	Secret *core.SecretVolumeSource `json:"secret,omitempty"`
	// ConfigMap represents a configMap that should populate this volume
	// +optional
	ConfigMap *core.ConfigMapVolumeSource `json:"configMap,omitempty"`
	// Items for all in one resources secrets, configmaps, and downward API
	// +optional
	Projected *core.ProjectedVolumeSource `json:"projected,omitempty"`
	// Path within the container at which the volume should be mounted.  Must
	// not contain ':'.
	MountPath string `json:"mountPath"`
}

Represents the source of a volume to mount. Only one of its members may be specified.

func (*VolumeSource) DeepCopy

func (in *VolumeSource) DeepCopy() *VolumeSource

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

func (*VolumeSource) DeepCopyInto

func (in *VolumeSource) DeepCopyInto(out *VolumeSource)

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