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
- Variables
- type LoadBalancer
- type LoadBalancerAdditionalNetwork
- type LoadBalancerDebugSettings
- type LoadBalancerDefaultNetwork
- type LoadBalancerEndpoint
- type LoadBalancerInfrastructure
- type LoadBalancerList
- type LoadBalancerLogForward
- type LoadBalancerMachine
- type LoadBalancerMachineList
- type LoadBalancerMachineMetric
- type LoadBalancerMachineSpec
- type LoadBalancerMachineStatus
- type LoadBalancerMachineTemplateSpec
- type LoadBalancerOptions
- type LoadBalancerRef
- type LoadBalancerSet
- type LoadBalancerSetList
- type LoadBalancerSetSpec
- type LoadBalancerSetStatus
- type LoadBalancerSpec
- type LoadBalancerStatus
- type OpenstackFlavorRef
- type OpenstackImageRef
Constants ¶
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
ServiceClassName = "yawol.stackit.cloud/className"
// ServiceReplicas for setting loadbalancer replicas in cloud-controller
ServiceReplicas = "yawol.stackit.cloud/replicas"
// 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
Variables ¶
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
func (in *LoadBalancerAdditionalNetwork) DeepCopy() *LoadBalancerAdditionalNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerAdditionalNetwork.
func (*LoadBalancerAdditionalNetwork) DeepCopyInto ¶ added in v0.11.0
func (in *LoadBalancerAdditionalNetwork) DeepCopyInto(out *LoadBalancerAdditionalNetwork)
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 ¶
func (in *LoadBalancerDebugSettings) DeepCopy() *LoadBalancerDebugSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerDebugSettings.
func (*LoadBalancerDebugSettings) DeepCopyInto ¶
func (in *LoadBalancerDebugSettings) DeepCopyInto(out *LoadBalancerDebugSettings)
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
func (in *LoadBalancerDefaultNetwork) DeepCopy() *LoadBalancerDefaultNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerDefaultNetwork.
func (*LoadBalancerDefaultNetwork) DeepCopyInto ¶ added in v0.11.0
func (in *LoadBalancerDefaultNetwork) DeepCopyInto(out *LoadBalancerDefaultNetwork)
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 ¶
func (in *LoadBalancerEndpoint) DeepCopy() *LoadBalancerEndpoint
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 ¶
func (in *LoadBalancerInfrastructure) DeepCopy() *LoadBalancerInfrastructure
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerInfrastructure.
func (*LoadBalancerInfrastructure) DeepCopyInto ¶
func (in *LoadBalancerInfrastructure) DeepCopyInto(out *LoadBalancerInfrastructure)
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"`
}
LoadBalancerLogForward enables log forward to a loki instance.
func (*LoadBalancerLogForward) DeepCopy ¶ added in v0.9.0
func (in *LoadBalancerLogForward) DeepCopy() *LoadBalancerLogForward
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 ¶
func (in *LoadBalancerMachineList) DeepCopy() *LoadBalancerMachineList
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 ¶
func (in *LoadBalancerMachineMetric) DeepCopy() *LoadBalancerMachineMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerMachineMetric.
func (*LoadBalancerMachineMetric) DeepCopyInto ¶
func (in *LoadBalancerMachineMetric) DeepCopyInto(out *LoadBalancerMachineMetric)
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 ¶
func (in *LoadBalancerMachineSpec) DeepCopy() *LoadBalancerMachineSpec
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"`
// 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 ¶
func (in *LoadBalancerMachineStatus) DeepCopy() *LoadBalancerMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerMachineStatus.
func (*LoadBalancerMachineStatus) DeepCopyInto ¶
func (in *LoadBalancerMachineStatus) DeepCopyInto(out *LoadBalancerMachineStatus)
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 ¶
func (in *LoadBalancerMachineTemplateSpec) DeepCopy() *LoadBalancerMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerMachineTemplateSpec.
func (*LoadBalancerMachineTemplateSpec) DeepCopyInto ¶
func (in *LoadBalancerMachineTemplateSpec) DeepCopyInto(out *LoadBalancerMachineTemplateSpec)
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"`
// 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 ¶
func (in *LoadBalancerSetStatus) DeepCopy() *LoadBalancerSetStatus
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.