v1beta1

package
v0.21.3 Latest Latest
Warning

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

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

Documentation

Overview

Package v1beta1 contains API Schema definitions for the yawol v1beta1 API group +kubebuilder:object:generate=true +kubebuilder:validation:Required +groupName=yawol.stackit.cloud

Index

Constants

View Source
const (
	// ServiceImageID overwrite default imageID
	ServiceImageID = "yawol.stackit.cloud/imageId"
	// ServiceFlavorID overwrite default flavorID
	ServiceFlavorID = "yawol.stackit.cloud/flavorId"
	// ServiceDefaultNetworkID overwrites the default openstack network for the loadbalancer
	// If this is set to a different network ID than defined as default in the yawol-cloud-controller
	// the default from the yawol-cloud-controller will be added to the additionalNetworks
	ServiceDefaultNetworkID = "yawol.stackit.cloud/defaultNetworkID"
	// ServiceSkipCloudControllerDefaultNetworkID if set to true it do not add the default network ID from
	// the yawol-cloud-controller to the additionalNetworks
	ServiceSkipCloudControllerDefaultNetworkID = "yawol.stackit.cloud/skipCloudControllerDefaultNetworkID"
	// ServiceDefaultProjectID overwrites the projectID which is set by the secret.
	// If not set the settings from the secret binding will be used.
	ServiceDefaultProjectID = "yawol.stackit.cloud/projectID"
	// ServiceFloatingNetworkID overwrites the openstack floating network for the loadbalancer
	ServiceFloatingNetworkID = "yawol.stackit.cloud/floatingNetworkID"
	// ServiceAvailabilityZone set availability zone for specific service
	ServiceAvailabilityZone = "yawol.stackit.cloud/availabilityZone"
	// ServiceInternalLoadbalancer sets the internal flag in LB objects
	ServiceInternalLoadbalancer = "yawol.stackit.cloud/internalLB"
	// ServiceDebug set in lb object an debug setting
	ServiceDebug = "yawol.stackit.cloud/debug"
	// ServiceDebugSSHKey set an sshkey
	ServiceDebugSSHKey = "yawol.stackit.cloud/debugsshkey"
	// ServiceClassName for filtering services in cloud-controller
	// Deprecated: use .spec.loadBalancerClass instead
	ServiceClassName = "yawol.stackit.cloud/className"
	// ServiceReplicas for setting loadbalancer replicas in cloud-controller
	ServiceReplicas = "yawol.stackit.cloud/replicas"
	// ServiceLoadBalancerSourceRanges sets the loadBalancerSourceRanges in the loadbalancer (same as svc.spec.loadBalancerSourceRanges)
	// If svc.spec.loadBalancerSourceRanges is set this annotation will NOT be used.
	ServiceLoadBalancerSourceRanges = "yawol.stackit.cloud/loadBalancerSourceRanges"
	// ServiceTCPProxyProtocol enables the HAProxy TCP Proxy Protocol for all TCP connections
	ServiceTCPProxyProtocol = "yawol.stackit.cloud/tcpProxyProtocol"
	// ServiceTCPProxyProtocolPortsFilter enables for the specified ports (comma separated list)
	ServiceTCPProxyProtocolPortsFilter = "yawol.stackit.cloud/tcpProxyProtocolPortsFilter"
	// ServiceTCPIdleTimeout sets the TCP idle Timeout in seconds, default is 3600
	ServiceTCPIdleTimeout = "yawol.stackit.cloud/tcpIdleTimeout"
	// ServiceUDPIdleTimeout sets the UDP idle Timeout in seconds, default is 60
	ServiceUDPIdleTimeout = "yawol.stackit.cloud/udpIdleTimeout"
	// ServiceExistingFloatingIP enables usage of existing Floating IP
	ServiceExistingFloatingIP = "yawol.stackit.cloud/existingFloatingIP"
	// ServiceLogForward enables log forward for LoadBalancer
	ServiceLogForward = "yawol.stackit.cloud/logForward"
	// ServiceLogForwardLokiURL set loki url into LoadBalancer
	ServiceLogForwardLokiURL = "yawol.stackit.cloud/logForwardLokiURL"
	// ServiceServerGroupPolicy set openstack server group policy for a LoadBalancer
	ServiceServerGroupPolicy = "yawol.stackit.cloud/serverGroupPolicy"
	// ServiceAdditionalNetworks adds additional openstack networks for the loadbalancer (comma separated list)
	ServiceAdditionalNetworks = "yawol.stackit.cloud/additionalNetworks"
)

Annotation for settings in svc object

View Source
const (
	// LoadBalancerAdHocDebug enables adhoc debugging, all LoadBalancer Machines will enable SSH
	LoadBalancerAdHocDebug = "yawol.stackit.cloud/adHocDebug"
	// LoadBalancerAdHocDebugSSHKey defines the public ssh key for adhoc debugging
	// All LoadBalancer Machines will add this public SSH key
	LoadBalancerAdHocDebugSSHKey = "yawol.stackit.cloud/adHocDebugSSHKey"
	// If logForward is enabled, annotations that are prefixed with this constant
	// will be used as extra labels for loki
	LoadBalancerLogLabelPrefix = "logging.yawol.stackit.cloud/"
	// LoadBalancerKeepFloatingIP indicates the controller to not delete the floating ip on lb deletion.
	// When set to 'true' deleting the annotated loadbalancer will orphan the floating ip.
	LoadBalancerKeepFloatingIP = "yawol.stackit.cloud/keepFloatingIP"
	// LoadBalancerKeepPort indicates the controller to not delete the port on lb deletion.
	// When set to 'true' deleting the annotated loadbalancer will orphan the port.
	LoadBalancerKeepPort = "yawol.stackit.cloud/keepPort"
	// LoadBalancerKeepSecurityGroup indicates the controller to not delete the security group on lb deletion.
	// When set to 'true' deleting the annotated loadbalancer will orphan the security group.
	LoadBalancerKeepSecurityGroup = "yawol.stackit.cloud/keepSecurityGroup"
)

Annotation for settings in lb object

View Source
const (
	// LoadBalancerMachineCreationTimeoutAnnotation can be set on a LoadBalancerMachine to override
	// the default duration of 10 minutes, after which a new LoadBalancerMachine
	// is deleted (by the LBM) if it reports no conditions yet.
	LoadBalancerMachineCreationTimeoutAnnotation = "yawol.stackit.cloud/creationTimeout"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "yawol.stackit.cloud", Version: "v1beta1"}

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

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

	Spec   LoadBalancerSpec   `json:"spec,omitempty"`
	Status LoadBalancerStatus `json:"status,omitempty"`
}

LoadBalancer is the Schema for the YAWOL LoadBalancer API

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

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

func (*LoadBalancer) DeepCopyInto

func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)

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

func (*LoadBalancer) DeepCopyObject

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

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

type LoadBalancerAdditionalNetwork added in v0.11.0

type LoadBalancerAdditionalNetwork struct {
	// NetworkID defines an openstack ID for the network.
	NetworkID string `json:"networkID"`
}

LoadBalancerAdditionalNetwork defines additional networks for the LoadBalancer

func (*LoadBalancerAdditionalNetwork) DeepCopy added in v0.11.0

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

func (*LoadBalancerAdditionalNetwork) DeepCopyInto added in v0.11.0

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

type LoadBalancerDebugSettings

type LoadBalancerDebugSettings struct {
	// Enabled defines if debugging is enabled
	// +optional
	Enabled bool `json:"enabled"`
	// SshKey is a openstack sshkey name for debugging
	// +optional
	SshkeyName string `json:"sshkeyName,omitempty"`
}

LoadBalancerDebugSettings defines debug settings for the LoadBalancer

func (*LoadBalancerDebugSettings) DeepCopy

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

func (*LoadBalancerDebugSettings) DeepCopyInto

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

type LoadBalancerDefaultNetwork added in v0.11.0

type LoadBalancerDefaultNetwork struct {
	// FloatingNetID defines an openstack ID for the floatingNet.
	// +optional
	FloatingNetID *string `json:"floatingNetID,omitempty"`
	// NetworkID defines an openstack ID for the network.
	NetworkID string `json:"networkID"`
}

LoadBalancerDefaultNetwork defines the default/listener network for the Loadbalancer

func (*LoadBalancerDefaultNetwork) DeepCopy added in v0.11.0

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

func (*LoadBalancerDefaultNetwork) DeepCopyInto added in v0.11.0

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

type LoadBalancerEndpoint

type LoadBalancerEndpoint struct {
	// Name defines a name for the Endpoint (example: node name).
	Name string `json:"name"`
	// Addresses is a list of addresses for the endpoint, they can contain IPv4 and IPv6 addresses.
	Addresses []string `json:"addresses,omitempty"`
}

LoadBalancerEndpoint defines a Endpoint for the LoadBalancer

func (*LoadBalancerEndpoint) DeepCopy

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

func (*LoadBalancerEndpoint) DeepCopyInto

func (in *LoadBalancerEndpoint) DeepCopyInto(out *LoadBalancerEndpoint)

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

type LoadBalancerInfrastructure

type LoadBalancerInfrastructure struct {
	// Deprecated: use defaultNetwork instead
	// FloatingNetID defines a openstack ID for the floatingNet.
	// +optional
	FloatingNetID *string `json:"floatingNetID,omitempty"`
	// Deprecated: use defaultNetwork instead
	// NetworkID defines a openstack ID for the network.
	// +optional
	NetworkID string `json:"networkID,omitempty"`
	// DefaultNetwork defines the default/listener network for the Loadbalancer.
	// +optional
	// TODO Remove optional when Deprecations are removed
	DefaultNetwork LoadBalancerDefaultNetwork `json:"defaultNetwork"`
	// AdditionalNetworks defines additional networks that will be added to the LoadBalancerMachines.
	// +optional
	AdditionalNetworks []LoadBalancerAdditionalNetwork `json:"additionalNetworks"`
	// Flavor defines openstack flavor for the LoadBalancer.
	Flavor OpenstackFlavorRef `json:"flavor"`
	// Image defines openstack image for the LoadBalancer.
	Image OpenstackImageRef `json:"image"`
	// AvailabilityZone defines the openstack availability zone for the LoadBalancer.
	// +optional
	AvailabilityZone string `json:"availabilityZone"`
	// AuthSecretRef defines a secretRef for the openstack secret.
	AuthSecretRef corev1.SecretReference `json:"authSecretRef"`
	// ProjectID defines an openstack project ID which will be used instead of the project from the secret ref.
	// If not set the project from the secret ref will be used.
	// +optional
	ProjectID *string `json:"projectID"`
}

LoadBalancerInfrastructure defines infrastructure defaults for the LoadBalancer

func (*LoadBalancerInfrastructure) DeepCopy

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

func (*LoadBalancerInfrastructure) DeepCopyInto

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

type LoadBalancerList

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

LoadBalancerList contains a list of LoadBalancer.

func (*LoadBalancerList) DeepCopy

func (in *LoadBalancerList) DeepCopy() *LoadBalancerList

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

func (*LoadBalancerList) DeepCopyInto

func (in *LoadBalancerList) DeepCopyInto(out *LoadBalancerList)

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

func (*LoadBalancerList) DeepCopyObject

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

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

type LoadBalancerLogForward added in v0.9.0

type LoadBalancerLogForward struct {
	// Enabled defines if log forward is enabled
	// +optional
	Enabled bool `json:"enabled"`
	// LokiUrl defines the loki push url (Example: http://example.com:3100/loki/api/v1/push).
	// +optional
	LokiURL string `json:"lokiUrl"`
	// Labels define extra labels for loki.
	// +optional
	Labels map[string]string `json:"labels"`
}

LoadBalancerLogForward enables log forward to a loki instance.

func (*LoadBalancerLogForward) DeepCopy added in v0.9.0

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

func (*LoadBalancerLogForward) DeepCopyInto added in v0.9.0

func (in *LoadBalancerLogForward) DeepCopyInto(out *LoadBalancerLogForward)

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

type LoadBalancerMachine

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

	Spec   LoadBalancerMachineSpec   `json:"spec,omitempty"`
	Status LoadBalancerMachineStatus `json:"status,omitempty"`
}

LoadBalancerMachine is the Schema for the LoadBalancerMachine's API.

func (*LoadBalancerMachine) DeepCopy

func (in *LoadBalancerMachine) DeepCopy() *LoadBalancerMachine

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

func (*LoadBalancerMachine) DeepCopyInto

func (in *LoadBalancerMachine) DeepCopyInto(out *LoadBalancerMachine)

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

func (*LoadBalancerMachine) DeepCopyObject

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

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

type LoadBalancerMachineList

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

+kubebuilder:object:root=true LoadBalancerMachineList contains a list of LoadBalancerMachine

func (*LoadBalancerMachineList) DeepCopy

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

func (*LoadBalancerMachineList) DeepCopyInto

func (in *LoadBalancerMachineList) DeepCopyInto(out *LoadBalancerMachineList)

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

func (*LoadBalancerMachineList) DeepCopyObject

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

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

type LoadBalancerMachineMetric

type LoadBalancerMachineMetric struct {
	// Type is the type of the metric
	Type string `json:"type"`
	// Value is the value of a metric
	Value string `json:"value"`
	// Time is the timestamp if the metric
	Time metav1.Time `json:"timestamp"`
}

LoadBalancerMachineMetric describes a metric of the LoadBalancerMachine

func (*LoadBalancerMachineMetric) DeepCopy

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

func (*LoadBalancerMachineMetric) DeepCopyInto

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

type LoadBalancerMachineSpec

type LoadBalancerMachineSpec struct {
	// Infrastructure defines parameters for the Infrastructure.
	Infrastructure LoadBalancerInfrastructure `json:"infrastructure"`
	// PortID defines the openstack ID of the port attached to the FloatingIP.
	PortID string `json:"portID"`
	// ServerGroupID defines the openstack ID of the openstack server group.
	// +optional
	ServerGroupID string `json:"serverGroupID"`
	// LoadBalancerRef defines a reference to the LoadBalancer Object.
	LoadBalancerRef LoadBalancerRef `json:"loadBalancerRef"`
}

LoadBalancerMachineSpec defines the desired state of LoadBalancerMachine

func (*LoadBalancerMachineSpec) DeepCopy

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

func (*LoadBalancerMachineSpec) DeepCopyInto

func (in *LoadBalancerMachineSpec) DeepCopyInto(out *LoadBalancerMachineSpec)

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

type LoadBalancerMachineStatus

type LoadBalancerMachineStatus struct {
	// Conditions contains condition information for a LoadBalancerMachine.
	// +optional
	Conditions *[]corev1.NodeCondition `json:"conditions,omitempty"`
	// Metrics contains metrics for a LoadBalancerMachine.
	// +optional
	Metrics *[]LoadBalancerMachineMetric `json:"metrics,omitempty"`
	// CreationTimestamp contains the creation timestamp a LoadBalancerMachine.
	// +optional
	CreationTimestamp *metav1.Time `json:"creationTimestamp,omitempty"`
	// LastOpenstackReconcile contains the timestamp of the last openstack reconciliation.
	// +optional
	LastOpenstackReconcile *metav1.Time `json:"lastOpenstackReconcile,omitempty"`
	// ServerID contains the openstack server ID for a LoadBalancerMachine.
	// +optional
	ServerID *string `json:"serverID,omitempty"`
	// Deprecated: use defaultPortID instead
	// PortID contains the openstack port ID for a LoadBalancerMachine.
	// +optional
	PortID *string `json:"portID,omitempty"`
	// DefaultPortID contains the default openstack port ID for a LoadBalancerMachine.
	// +optional
	DefaultPortID *string `json:"defaultPortID,omitempty"`
	// DefaultPortName contains the default openstack port Name for a LoadBalancerMachine.
	// +optional
	DefaultPortName *string `json:"defaultPortName,omitempty"`
	// DefaultPortIP contains the default openstack port IP for a LoadBalancerMachine.
	// +optional
	DefaultPortIP *string `json:"defaultPortIP,omitempty"`
	// ServiceAccountName contains the namespacedName from the ServiceAccount for a LoadBalancerMachine.
	// +optional
	ServiceAccountName *string `json:"serviceAccountName,omitempty"`
	// SecretName contains the namespacedName from the Secret which belongs to the Serviceaccount.
	// +optional
	ServiceAccountSecretName *string `json:"serviceAccountSecretName,omitempty"`
	// RoleName contains the namespacedName from the Role for a LoadBalancerMachine.
	// +optional
	RoleName *string `json:"roleName,omitempty"`
	// RoleBindingName contains the namespacedName from the RoleBinding for a LoadBalancerMachine.
	// +optional
	RoleBindingName *string `json:"roleBindingName,omitempty"`
}

LoadBalancerMachineStatus defines the observed state of LoadBalancerMachine.

func (*LoadBalancerMachineStatus) DeepCopy

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

func (*LoadBalancerMachineStatus) DeepCopyInto

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

type LoadBalancerMachineTemplateSpec

type LoadBalancerMachineTemplateSpec struct {
	// Labels for the LoadBalancerMachine
	Labels map[string]string `json:"labels"`
	// Spec is the spec for the LoadBalancerMachine.
	Spec LoadBalancerMachineSpec `json:"spec"`
}

LoadBalancerMachineTemplateSpec defines the desired state of LoadBalancerSet.

func (*LoadBalancerMachineTemplateSpec) DeepCopy

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

func (*LoadBalancerMachineTemplateSpec) DeepCopyInto

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

type LoadBalancerOptions

type LoadBalancerOptions struct {
	// InternalLB is a bool for internal LoadBalancer. If set to false a FloatingIP will be assigned to the LB. Defaults to false.
	// +kubebuilder:default:=false
	// +optional
	InternalLB bool `json:"internalLB,omitempty"`
	// LoadBalancerSourceRanges restrict traffic to IP ranges for the LoadBalancer (copy from service)
	// +optional
	LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
	// TCPProxyProtocol enables HAProxy TCP Proxy Protocol
	// +optional
	TCPProxyProtocol bool `json:"tcpProxyProtocol,omitempty"`
	// TCPProxyProtocolPortList enables HAProxy TCP Proxy Protocol for specified ports.
	// If empty it is enabled for all ports. Only has an affect if TCPProxyProtocol is enabled.
	// +optional
	TCPProxyProtocolPortsFilter []int32 `json:"tcpProxyProtocolPortFilter,omitempty"`
	// TCPIdleTimeout sets TCP idle Timeout for all TCP connections from this LoadBalancer.
	// Value is in Seconds. With 0 you disable the idle timeout, be careful this can lead to side effects.
	// Default is 1h.
	// +optional
	TCPIdleTimeout *metav1.Duration `json:"tcpIdleTimeout,omitempty"`
	// UDPIdleTimeout sets UDP idle Timeout for all UDP connections from this LoadBalancer.
	// Value is in Seconds. With 0 you disable the idle timeout, be careful this can lead to side effects.
	// Default is 1m.
	// +optional
	UDPIdleTimeout *metav1.Duration `json:"udpIdleTimeout,omitempty"`
	// LogForward enables log forward to a loki instance
	// +optional
	LogForward LoadBalancerLogForward `json:"logForward,omitempty"`
	// ServerGroupPolicy creates a server group with that policy.
	// Can be 'affinity', 'anti-affinity' 'soft-affinity', 'soft-anti-affinity' depending on the OpenStack Infrastructure.
	// If empty Openstack server group will not be used. Default is disabled
	// +optional
	ServerGroupPolicy string `json:"serverGroupPolicy,omitempty"`
}

func (*LoadBalancerOptions) DeepCopy

func (in *LoadBalancerOptions) DeepCopy() *LoadBalancerOptions

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

func (*LoadBalancerOptions) DeepCopyInto

func (in *LoadBalancerOptions) DeepCopyInto(out *LoadBalancerOptions)

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

type LoadBalancerRef

type LoadBalancerRef struct {
	// Name is unique within a namespace to reference a LoadBalancer resource.
	Name string `json:"name"`
	// Namespace defines the space within which the LoadBalancer name must be unique.
	Namespace string `json:"namespace"`
}

LoadBalancerRef defines a reference to a LoadBalancer object.

func (*LoadBalancerRef) DeepCopy

func (in *LoadBalancerRef) DeepCopy() *LoadBalancerRef

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

func (*LoadBalancerRef) DeepCopyInto

func (in *LoadBalancerRef) DeepCopyInto(out *LoadBalancerRef)

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

type LoadBalancerSet

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

	Spec   LoadBalancerSetSpec   `json:"spec,omitempty"`
	Status LoadBalancerSetStatus `json:"status,omitempty"`
}

LoadBalancerSet is the Schema for the LoadBalancerSet's API.

func (*LoadBalancerSet) DeepCopy

func (in *LoadBalancerSet) DeepCopy() *LoadBalancerSet

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

func (*LoadBalancerSet) DeepCopyInto

func (in *LoadBalancerSet) DeepCopyInto(out *LoadBalancerSet)

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

func (*LoadBalancerSet) DeepCopyObject

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

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

type LoadBalancerSetList

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

+kubebuilder:object:root=true LoadBalancerSetList contains a list of LoadBalancerSet.

func (*LoadBalancerSetList) DeepCopy

func (in *LoadBalancerSetList) DeepCopy() *LoadBalancerSetList

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

func (*LoadBalancerSetList) DeepCopyInto

func (in *LoadBalancerSetList) DeepCopyInto(out *LoadBalancerSetList)

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

func (*LoadBalancerSetList) DeepCopyObject

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

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

type LoadBalancerSetSpec

type LoadBalancerSetSpec struct {
	// Selector is a label query over pods that should match the replica count.
	Selector metav1.LabelSelector `json:"selector"`
	// Replicas defines the number of LoadBalancer that should run. Defaults to 1.
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Minimum:=0
	// +optional
	Replicas int `json:"replicas,omitempty"`
	// Template defines a template for the LoadBalancerMachine. This is used to instantiate LoadBalancerMachine.
	Template LoadBalancerMachineTemplateSpec `json:"template"`
}

LoadBalancerSetSpec defines the desired state of LoadBalancerSet.

func (*LoadBalancerSetSpec) DeepCopy

func (in *LoadBalancerSetSpec) DeepCopy() *LoadBalancerSetSpec

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

func (*LoadBalancerSetSpec) DeepCopyInto

func (in *LoadBalancerSetSpec) DeepCopyInto(out *LoadBalancerSetSpec)

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

type LoadBalancerSetStatus

type LoadBalancerSetStatus struct {
	// AvailableReplicas are the current running replicas.
	// +optional
	AvailableReplicas *int `json:"availableReplicas,omitempty"`
	// Conditions contains condition information for a LoadBalancerSet.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ReadyReplicas are the current ready replicas.
	// +optional
	ReadyReplicas *int `json:"readyReplicas,omitempty"`
	// Replicas are the desired replicas.
	// +optional
	Replicas *int `json:"replicas,omitempty"`
}

LoadBalancerSetStatus defines the observed state of LoadBalancerSet.

func (*LoadBalancerSetStatus) DeepCopy

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

func (*LoadBalancerSetStatus) DeepCopyInto

func (in *LoadBalancerSetStatus) DeepCopyInto(out *LoadBalancerSetStatus)

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

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// This label selector matches the load balancer sets deriving from the load balancer
	Selector metav1.LabelSelector `json:"selector"`
	// Replicas defines the number of LoadBalancers that should run.
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Minimum:=0
	// +optional
	Replicas int `json:"replicas,omitempty"`
	// ExistingFloatingIP uses a existing Floating IP as FIP
	// +optional
	ExistingFloatingIP *string `json:"existingFloatingIP,omitempty"`
	// Debug are settings for debugging an loadbalancer.
	// +optional
	DebugSettings LoadBalancerDebugSettings `json:"debugSettings,omitempty"`
	// Endpoints defines the Endpoints for the LoadBalancer.
	Endpoints []LoadBalancerEndpoint `json:"endpoints,omitempty"`
	// Ports defines the Ports for the LoadBalancer (copy from service)
	Ports []corev1.ServicePort `json:"ports,omitempty"`
	// Infrastructure defines parameters for the Infrastructure
	Infrastructure LoadBalancerInfrastructure `json:"infrastructure"`
	// Options for additional LoadBalancer settings
	// +optional
	Options LoadBalancerOptions `json:"options,omitempty"`
}

LoadBalancerSpec defines the desired state of LoadBalancer

func (*LoadBalancerSpec) DeepCopy

func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec

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

func (*LoadBalancerSpec) DeepCopyInto

func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)

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

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// ReadyReplicas are the current running replicas.
	// +optional
	ReadyReplicas *int `json:"readyReplicas,omitempty"`
	// Replicas displays the running lb replicas under this deployment
	// +optional
	Replicas *int `json:"replicas,omitempty"`
	// ExternalIP is the current externalIP (FIP or private). If not defined, no ExternalIP is bound yet.
	// +optional
	ExternalIP *string `json:"externalIP,omitempty"`
	// FloatingID is the current openstack ID from the FloatingIP.
	// +optional
	FloatingID *string `json:"floatingID,omitempty"`
	// FloatingName is the current openstack name from the FloatingIP.
	// +optional
	FloatingName *string `json:"floatingName,omitempty"`
	// PortID is the current openstack ID from the virtual Port.
	// +optional
	PortID *string `json:"portID,omitempty"`
	// PortName is the current openstack name from the virtual Port.
	// +optional
	PortName *string `json:"portName,omitempty"`
	// PortIP is the IP from the openstack virtual Port.
	// +optional
	PortIP *string `json:"portIP,omitempty"`
	// ServerGroupID is the current sever group ID
	// +optional
	ServerGroupID *string `json:"serverGroupID,omitempty"`
	// ServerGroupName is the current sever group name
	// +optional
	ServerGroupName *string `json:"serverGroupName,omitempty"`
	// SecurityGroupID is the current security group ID mapped to the port
	// +optional
	SecurityGroupID *string `json:"securityGroupID,omitempty"`
	// SecurityGroupName is the current security group name mapped to the port
	// +optional
	SecurityGroupName *string `json:"securityGroupName,omitempty"`
	// Deprecated: use securityGroupID instead.
	// +optional
	SecurityGroupIDOld *string `json:"security_group_id,omitempty"`
	// Deprecated: use securityGroupName instead.
	// +optional
	SecurityGroupNameOld *string `json:"security_group_name,omitempty"`
	// LastOpenstackReconcile contains the timestamp of the last openstack reconciliation.
	// +optional
	LastOpenstackReconcile *metav1.Time `json:"lastOpenstackReconcile,omitempty"`
	// OpenstackReconcileHash contains a hash of openstack related settings to reset the LastOpenstackReconcile timer if needed.
	// +optional
	OpenstackReconcileHash *string `json:"openstackReconcileHash,omitempty"`
}

LoadBalancerStatus defines the observed state of LoadBalancer.

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

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

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

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

type OpenstackFlavorRef

type OpenstackFlavorRef struct {
	// FlavorID is the flavor ID used for requesting virtual machines.
	// +optional
	FlavorID *string `json:"flavorID,omitempty"`
	// NOT IMPLEMENTED ONLY FlavorID is supported.
	// FlavorName is the name of the flavor used for requesting virtual machines.
	// FlavorName is only used if FlavorID is not defined.
	// +optional
	FlavorName *string `json:"flavorName,omitempty"`
	// NOT IMPLEMENTED ONLY FlavorID is supported.
	// FlavorSearch is a search string to find the flavor used for requesting virtual machines.
	// Search will be performed in metadata of the flavors.
	// FlavorSearch is only used if FlavorName and FlavorID are not defined.
	// +optional
	FlavorSearch *string `json:"flavorSearch,omitempty"`

	// Deprecated: use flavorID instead.
	// +optional
	FlavorIDOld *string `json:"flavor_id,omitempty"`
	// Deprecated: use flavorName instead.
	// +optional
	FlavorNameOld *string `json:"flavor_name,omitempty"`
	// Deprecated: use flavorSearch instead.
	// +optional
	FlavorSearchOld *string `json:"flavor_search,omitempty"`
}

OpenstackFlavorRef defines a reference to a Openstack flavor. The Flavor defines the amount of cpu cores and memory as well as the size of the root disk.

func (*OpenstackFlavorRef) DeepCopy

func (in *OpenstackFlavorRef) DeepCopy() *OpenstackFlavorRef

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

func (*OpenstackFlavorRef) DeepCopyInto

func (in *OpenstackFlavorRef) DeepCopyInto(out *OpenstackFlavorRef)

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

type OpenstackImageRef

type OpenstackImageRef struct {
	// ImageID is the image ID used for requesting virtual machines.
	// +optional
	ImageID *string `json:"imageID,omitempty"`
	// NOT IMPLEMENTED ONLY ImageID is supported.
	// ImageName is the name of the image used for requesting virtual machines.
	// ImageName is only used if ImageID is not defined.
	// +optional
	ImageName *string `json:"imageName,omitempty"`
	// NOT IMPLEMENTED ONLY ImageID is supported.
	// ImageSearch is a search string to find the image used for requesting virtual machines.
	// Search will be performed in metadata of the images.
	// ImageSearch is only used if ImageName and ImageID are not defined.
	// +optional
	ImageSearch *string `json:"imageSearch,omitempty"`

	// Deprecated: use imageID instead.
	// +optional
	ImageIDOld *string `json:"image_id,omitempty"`
	// Deprecated: use imageName instead.
	// +optional
	ImageNameOld *string `json:"image_name,omitempty"`
	// Deprecated: use imageSearch instead.
	// +optional
	ImageSearchOld *string `json:"image_search,omitempty"`
}

OpenstackImageRef defines a reference to a Openstack image.

func (*OpenstackImageRef) DeepCopy

func (in *OpenstackImageRef) DeepCopy() *OpenstackImageRef

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

func (*OpenstackImageRef) DeepCopyInto

func (in *OpenstackImageRef) DeepCopyInto(out *OpenstackImageRef)

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