v1

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: May 21, 2021 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the lb v1 API group +kubebuilder:object:generate=true +groupName=lb.lbconfig.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "lb.lbconfig.io", Version: "v1"}

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

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

	Spec   ExternalLoadBalancerSpec   `json:"spec,omitempty"`
	Status ExternalLoadBalancerStatus `json:"status,omitempty"`
}

ExternalLoadBalancer is the Schema for the externalloadbalancers API +kubebuilder:subresource:status

func (*ExternalLoadBalancer) DeepCopy

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

func (*ExternalLoadBalancer) DeepCopyInto

func (in *ExternalLoadBalancer) DeepCopyInto(out *ExternalLoadBalancer)

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

func (*ExternalLoadBalancer) DeepCopyObject

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

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

type ExternalLoadBalancerList

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

ExternalLoadBalancerList contains a list of ExternalLoadBalancer

func (*ExternalLoadBalancerList) DeepCopy

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

func (*ExternalLoadBalancerList) DeepCopyInto

func (in *ExternalLoadBalancerList) DeepCopyInto(out *ExternalLoadBalancerList)

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

func (*ExternalLoadBalancerList) DeepCopyObject

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

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

type ExternalLoadBalancerSpec

type ExternalLoadBalancerSpec struct {
	// Vip is the Virtual IP configured in  this LoadBalancer instance
	Vip string `json:"vip"`
	// Type is the node role type (master or infra) for the LoadBalancer instance
	Type string `json:"type,omitempty"`
	// NodeLabels are the node labels used for router sharding or exposed service. Optional.
	NodeLabels map[string]string `json:"nodelabels,omitempty"`
	// Backend is the LoadBalancer used
	Backend string `json:"backend"`
	// Ports are the list of ports used for this Vip
	Ports []int `json:"ports"`
	// Monitor is the path and port to monitor the LoadBalancer members
	Monitor Monitor `json:"monitor"`
}

ExternalLoadBalancerSpec is the spec of a LoadBalancer instance.

func (*ExternalLoadBalancerSpec) DeepCopy

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

func (*ExternalLoadBalancerSpec) DeepCopyInto

func (in *ExternalLoadBalancerSpec) DeepCopyInto(out *ExternalLoadBalancerSpec)

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

type ExternalLoadBalancerStatus

type ExternalLoadBalancerStatus struct {
	VIPs    []VIP   `json:"vips"`
	Ports   []int   `json:"ports"`
	Monitor Monitor `json:"monitor"`
	Nodes   []Node  `json:"nodes,omitempty"`
	Pools   []Pool  `json:"pools,omitempty"`
}

ExternalLoadBalancerStatus defines the observed state of ExternalLoadBalancer

func (*ExternalLoadBalancerStatus) DeepCopy

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

func (*ExternalLoadBalancerStatus) DeepCopyInto

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

type LoadBalancerBackend

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

	Spec   LoadBalancerBackendSpec   `json:"spec,omitempty"`
	Status LoadBalancerBackendStatus `json:"status,omitempty"`
}

LoadBalancerBackend is the Schema for the loadbalancerbackends API +kubebuilder:subresource:status

func (*LoadBalancerBackend) DeepCopy

func (in *LoadBalancerBackend) DeepCopy() *LoadBalancerBackend

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

func (*LoadBalancerBackend) DeepCopyInto

func (in *LoadBalancerBackend) DeepCopyInto(out *LoadBalancerBackend)

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

func (*LoadBalancerBackend) DeepCopyObject

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

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

type LoadBalancerBackendList

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

LoadBalancerBackendList contains a list of LoadBalancerBackend

func (*LoadBalancerBackendList) DeepCopy

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

func (*LoadBalancerBackendList) DeepCopyInto

func (in *LoadBalancerBackendList) DeepCopyInto(out *LoadBalancerBackendList)

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

func (*LoadBalancerBackendList) DeepCopyObject

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

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

type LoadBalancerBackendSpec

type LoadBalancerBackendSpec struct {
	// Type is the backend provider like F5, NetScaler, NSX
	Provider Provider `json:"provider"`
}

LoadBalancerBackendSpec defines the backend used by the ExternalLoadBalancer instance

func (*LoadBalancerBackendSpec) DeepCopy

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

func (*LoadBalancerBackendSpec) DeepCopyInto

func (in *LoadBalancerBackendSpec) DeepCopyInto(out *LoadBalancerBackendSpec)

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

type LoadBalancerBackendStatus

type LoadBalancerBackendStatus struct {
	Type Provider `json:"provider"`
}

LoadBalancerBackendStatus defines the observed state of LoadBalancerBackend

func (*LoadBalancerBackendStatus) DeepCopy

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

func (*LoadBalancerBackendStatus) DeepCopyInto

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

type Monitor

type Monitor struct {
	// Name is the monitor name, it is set by the controller
	Name string `json:"name,omitempty"`
	// Path is the path URL to check for the pool members
	Path string `json:"path"`
	// Port is the port this monitor should check the pool members
	Port int `json:"port"`
	// MonitorType is the monitor parent type. <monitorType> must be one of "http", "https",
	// "icmp", "gateway icmp", "inband", "postgresql", "mysql", "udp" or "tcp".
	MonitorType string `json:"monitortype"`
}

Monitor defines a monitor object in the LoadBalancer.

func (*Monitor) DeepCopy

func (in *Monitor) DeepCopy() *Monitor

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

func (*Monitor) DeepCopyInto

func (in *Monitor) DeepCopyInto(out *Monitor)

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

type Node

type Node struct {
	// Name is the host name set dynamically by the controller
	Name string `json:"name,omitempty"`
	// Host is the host IP set dynamically by the controller
	Host string `json:"host"`
	// Label is the node labels this node has
	Labels map[string]string `json:"label,omitempty"`
}

Node defines a host object in the LoadBalancer.

func (*Node) DeepCopy

func (in *Node) DeepCopy() *Node

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

func (*Node) DeepCopyInto

func (in *Node) DeepCopyInto(out *Node)

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

type Pool

type Pool struct {
	// Name is the Pool name, it is set by the controller
	Name string `json:"name,omitempty"`
	// Members is the host members of this pool
	Members []PoolMember `json:"members,omitempty"`
	// Monitor is the monitor name used on this pool
	Monitor string `json:"monitor"`
}

Pool defines a pool object in the LoadBalancer.

func (*Pool) DeepCopy

func (in *Pool) DeepCopy() *Pool

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

func (*Pool) DeepCopyInto

func (in *Pool) DeepCopyInto(out *Pool)

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

type PoolMember

type PoolMember struct {
	// Node is the node part of a pool
	Node Node `json:"node"`
	// Port is the port for this pool member
	Port int `json:"port"`
}

PoolMember defines a host object in the LoadBalancer.

func (*PoolMember) DeepCopy

func (in *PoolMember) DeepCopy() *PoolMember

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

func (*PoolMember) DeepCopyInto

func (in *PoolMember) DeepCopyInto(out *PoolMember)

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

type Provider

type Provider struct {
	// Vendor is the backend provider vendor (F5, NSX, Netscaler)
	Vendor string `json:"vendor"`
	// Host is the Load Balancer API IP or Hostname.
	Host string `json:"host"`
	// Port is the Load Balancer API Port.
	Port int `json:"port"`
	// Creds credentials secret holding the username and password keys.
	Creds string `json:"creds"`
	// Partition is the F5 partition to create the Load Balancer instances.
	Partition string `json:"partition,omitempty"`
	// ValidateCerts is a flag to validate or not the Load Balancer API certificate. Defaults to false.
	// +optional
	ValidateCerts *bool `json:"validatecerts,omitempty"`
}

Provider is a backend provider for F5 Big IP Load Balancers

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

type VIP

type VIP struct {
	// Name is the VIP instance name
	Name string `json:"name"`
	// Pool is the associated pool with this VIP
	Pool string `json:"pool"`
	// IP is the IP address this VIP instance listens to
	IP string `json:"ip"`
	// Port is the port this VIP listens to
	Port int `json:"port"`
}

VIP defines VIP instance in the LoadBalancer with a pool and port

func (*VIP) DeepCopy

func (in *VIP) DeepCopy() *VIP

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

func (*VIP) DeepCopyInto

func (in *VIP) DeepCopyInto(out *VIP)

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