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" // ServiceDefaultSubnetID overwrites the default openstack subnet for the loadbalancer ServiceDefaultSubnetID = "yawol.stackit.cloud/defaultSubnetID" // 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" // ServiceLogForwardProxyURL set proxy url to connect to loki ServiceLogForwardProxyURL = "yawol.stackit.cloud/logForwardProxyURL" // 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
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
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 ¶
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"` // SubnetID defines an openstack ID for the subnet. // +optional SubnetID *string `json:"subnetID,omitempty"` }
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"` // ProxyUrl defines the http proxy url to use for connection to loki // +optional ProxyURL string `json:"proxyUrl,omitempty"` // 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
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"` // 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 ¶
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"` // 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 ¶
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.