v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the networking v1alpha1 API group +kubebuilder:object:generate=true +groupName=networking.laboys.org

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "networking.laboys.org", Version: "v1alpha1"}

	// 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

This section is empty.

Types

type ExternalProxy

type ExternalProxy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ExternalProxySpec   `json:"spec,omitempty"`
	Status ExternalProxyStatus `json:"status,omitempty"`
}

ExternalProxy is the Schema for the externalproxies API

func (*ExternalProxy) DeepCopy

func (in *ExternalProxy) DeepCopy() *ExternalProxy

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

func (*ExternalProxy) DeepCopyInto

func (in *ExternalProxy) DeepCopyInto(out *ExternalProxy)

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

func (*ExternalProxy) DeepCopyObject

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

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

type ExternalProxyBackend

type ExternalProxyBackend struct {
	Addresses []corev1.EndpointAddress `json:"addresses"`
	Ports     []corev1.EndpointPort    `json:"ports"`
}

func (*ExternalProxyBackend) DeepCopy

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

func (*ExternalProxyBackend) DeepCopyInto

func (in *ExternalProxyBackend) DeepCopyInto(out *ExternalProxyBackend)

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

type ExternalProxyIngress

type ExternalProxyIngress struct {
	// Standard object's metadata.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// ingressClassName is the name of an IngressClass cluster resource.
	IngressClassName *string `json:"ingressClassName,omitempty"`

	// defaultBackend is the backend that should handle requests that don't
	// match any rule. If Rules are not specified, DefaultBackend must be specified.
	// If DefaultBackend is not set, the handling of requests that do not match any
	// of the rules will be up to the Ingress controller.
	// +optional
	DefaultBackend *ExternalProxyIngressBackend `json:"defaultBackend,omitempty"`

	// tls represents the TLS configuration. Currently, the Ingress only supports a
	// single TLS port, 443. 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, if the ingress controller fulfilling the
	// ingress supports SNI.
	TLS []networkingv1.IngressTLS `json:"tls,omitempty"`

	// rules is 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 []ExternalProxyIngressRule `json:"rules,omitempty"`
}

func (*ExternalProxyIngress) DeepCopy

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

func (*ExternalProxyIngress) DeepCopyInto

func (in *ExternalProxyIngress) DeepCopyInto(out *ExternalProxyIngress)

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

type ExternalProxyIngressBackend

type ExternalProxyIngressBackend struct {
	// port of the referenced service. A port name or port number
	// is required for a ExternalProxyServiceBackendPort.
	Port ExternalProxyServiceBackendPort `json:"port,omitempty"`
}

ExternalProxyIngressBackend describes all endpoints for a given service and port.

func (*ExternalProxyIngressBackend) DeepCopy

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

func (*ExternalProxyIngressBackend) DeepCopyInto

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

type ExternalProxyIngressHttpPath

type ExternalProxyIngressHttpPath struct {
	// path is 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 '/' and must be present
	// when using PathType with value "Exact" or "Prefix".
	Path string `json:"path,omitempty"`

	// pathType determines the interpretation of the path matching.
	PathType *networkingv1.PathType `json:"pathType"`

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

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

func (*ExternalProxyIngressHttpPath) DeepCopy

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

func (*ExternalProxyIngressHttpPath) DeepCopyInto

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

type ExternalProxyIngressHttpRuleValue

type ExternalProxyIngressHttpRuleValue struct {
	// paths is a collection of paths that map requests to backends.
	Paths []ExternalProxyIngressHttpPath `json:"paths"`
}

ExternalProxyIngressHttpRuleValue is a list of http selectors pointing to backends.

func (*ExternalProxyIngressHttpRuleValue) DeepCopy

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

func (*ExternalProxyIngressHttpRuleValue) DeepCopyInto

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

type ExternalProxyIngressMetadata

type ExternalProxyIngressMetadata struct {
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
	// +optional
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
}

func (*ExternalProxyIngressMetadata) DeepCopy

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

func (*ExternalProxyIngressMetadata) DeepCopyInto

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

type ExternalProxyIngressRule

type ExternalProxyIngressRule struct {
	// host is the fully qualified domain name of a network host, as defined by RFC 3986.
	//
	// 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"`

	// http represents a rule to route requests for this ExternalProxyIngressRule.
	//
	// 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 *ExternalProxyIngressHttpRuleValue `json:"http,omitempty"`
}

ExternalProxyIngressRule 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 (*ExternalProxyIngressRule) DeepCopy

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

func (*ExternalProxyIngressRule) DeepCopyInto

func (in *ExternalProxyIngressRule) DeepCopyInto(out *ExternalProxyIngressRule)

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

type ExternalProxyList

type ExternalProxyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ExternalProxy `json:"items"`
}

ExternalProxyList contains a list of ExternalProxy

func (*ExternalProxyList) DeepCopy

func (in *ExternalProxyList) DeepCopy() *ExternalProxyList

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

func (*ExternalProxyList) DeepCopyInto

func (in *ExternalProxyList) DeepCopyInto(out *ExternalProxyList)

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

func (*ExternalProxyList) DeepCopyObject

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

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

type ExternalProxyService

type ExternalProxyService struct {
	// Standard object's metadata.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// The name of the Service, if empty the name of the ExternalProxy is used.
	Name *string `json:"name,omitempty"`

	// type determines how the Service is exposed. Defaults to ClusterIP.
	Type corev1.ServiceType `json:"type"`

	// The list of ports that are exposed by this service.
	Ports []corev1.ServicePort `json:"ports"`
}

func (*ExternalProxyService) DeepCopy

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

func (*ExternalProxyService) DeepCopyInto

func (in *ExternalProxyService) DeepCopyInto(out *ExternalProxyService)

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

type ExternalProxyServiceBackendPort

type ExternalProxyServiceBackendPort struct {
	// name is the name of the port on the Service.
	// This is a mutually exclusive setting with "Number".
	// +optional
	Name string `json:"name,omitempty"`

	// number is the numerical port number (e.g. 80) on the Service.
	// This is a mutually exclusive setting with "Name".
	// +optional
	Number int32 `json:"number,omitempty"`
}

ExternalProxyServiceBackendPort is the service port being referenced.

func (*ExternalProxyServiceBackendPort) DeepCopy

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

func (*ExternalProxyServiceBackendPort) DeepCopyInto

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

type ExternalProxySpec

type ExternalProxySpec struct {
	Backends []ExternalProxyBackend `json:"backends"`
	Service  ExternalProxyService   `json:"service,omitempty"`
	Ingress  *ExternalProxyIngress  `json:"ingress,omitempty"`
}

ExternalProxySpec defines the desired state of ExternalProxy

func (*ExternalProxySpec) DeepCopy

func (in *ExternalProxySpec) DeepCopy() *ExternalProxySpec

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

func (*ExternalProxySpec) DeepCopyInto

func (in *ExternalProxySpec) DeepCopyInto(out *ExternalProxySpec)

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

type ExternalProxyStatus

type ExternalProxyStatus struct {
	Ready              bool   `json:"ready"`
	ServiceName        string `json:"serviceName"`
	ObservedGeneration int64  `json:"observedGeneration"`
}

ExternalProxyStatus defines the observed state of ExternalProxy

func (*ExternalProxyStatus) DeepCopy

func (in *ExternalProxyStatus) DeepCopy() *ExternalProxyStatus

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

func (*ExternalProxyStatus) DeepCopyInto

func (in *ExternalProxyStatus) DeepCopyInto(out *ExternalProxyStatus)

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