v1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2022 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.carlosedp.com

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.carlosedp.com", 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
	Ports []int `json:"ports"`
	// Monitor is the path and port to monitor the LoadBalancer members
	Monitor Monitor `json:"monitor"`
	// Provider is the LoadBalancer backend provider
	Provider Provider `json:"provider"`
}

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"`
	Provider Provider `json:"provider,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 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
	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