Documentation
¶
Overview ¶
+groupName=metallb.io
+kubebuilder:object:generate=true +groupName=metallb.io
Index ¶
- Variables
- type BFDProfile
- type BFDProfileList
- type BFDProfileSpec
- type BFDProfileStatus
- type BGPAdvertisement
- type BGPAdvertisementList
- type BGPAdvertisementSpec
- type BGPAdvertisementStatus
- type BGPPeer
- type BGPPeerList
- type BGPPeerSpec
- type BGPPeerStatus
- type Community
- type CommunityAlias
- type CommunityList
- type CommunitySpec
- type CommunityStatus
- type IPAddressPool
- type IPAddressPoolList
- type IPAddressPoolSpec
- type IPAddressPoolStatus
- type InterfaceInfo
- type L2Advertisement
- type L2AdvertisementList
- type L2AdvertisementSpec
- type L2AdvertisementStatus
- type MatchExpression
- type MetalLBServiceBGPStatus
- type MetalLBServiceL2Status
- type NodeSelector
- type ServiceAllocation
- type ServiceBGPStatus
- type ServiceBGPStatusList
- type ServiceBGPStatusSpec
- type ServiceL2Status
- type ServiceL2StatusList
- type ServiceL2StatusSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "metallb.io", 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 BFDProfile ¶
type BFDProfile struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BFDProfileSpec `json:"spec,omitempty"`
Status BFDProfileStatus `json:"status,omitempty"`
}
BFDProfile represents the settings of the bfd session that can be optionally associated with a BGP session.
func (*BFDProfile) DeepCopy ¶
func (in *BFDProfile) DeepCopy() *BFDProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BFDProfile.
func (*BFDProfile) DeepCopyInto ¶
func (in *BFDProfile) DeepCopyInto(out *BFDProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BFDProfile) DeepCopyObject ¶
func (in *BFDProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BFDProfileList ¶
type BFDProfileList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BFDProfile `json:"items"`
}
BFDProfileList contains a list of BFDProfile.
func (*BFDProfileList) DeepCopy ¶
func (in *BFDProfileList) DeepCopy() *BFDProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BFDProfileList.
func (*BFDProfileList) DeepCopyInto ¶
func (in *BFDProfileList) DeepCopyInto(out *BFDProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BFDProfileList) DeepCopyObject ¶
func (in *BFDProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BFDProfileSpec ¶
type BFDProfileSpec struct {
// The minimum interval that this system is capable of
// receiving control packets in milliseconds.
// Defaults to 300ms.
// +kubebuilder:validation:Maximum:=60000
// +kubebuilder:validation:Minimum:=10
// +optional
ReceiveInterval *uint32 `json:"receiveInterval,omitempty"`
// The minimum transmission interval (less jitter)
// that this system wants to use to send BFD control packets in
// milliseconds. Defaults to 300ms
// +kubebuilder:validation:Maximum:=60000
// +kubebuilder:validation:Minimum:=10
// +optional
TransmitInterval *uint32 `json:"transmitInterval,omitempty"`
// Configures the detection multiplier to determine
// packet loss. The remote transmission interval will be multiplied
// by this value to determine the connection loss detection timer.
// +kubebuilder:validation:Maximum:=255
// +kubebuilder:validation:Minimum:=2
// +optional
DetectMultiplier *uint32 `json:"detectMultiplier,omitempty"`
// Configures the minimal echo receive transmission
// interval that this system is capable of handling in milliseconds.
// Defaults to 50ms
// +kubebuilder:validation:Maximum:=60000
// +kubebuilder:validation:Minimum:=10
// +optional
EchoInterval *uint32 `json:"echoInterval,omitempty"`
// Enables or disables the echo transmission mode.
// This mode is disabled by default, and not supported on multi
// hops setups.
// +optional
EchoMode *bool `json:"echoMode,omitempty"`
// Mark session as passive: a passive session will not
// attempt to start the connection and will wait for control packets
// from peer before it begins replying.
// +optional
PassiveMode *bool `json:"passiveMode,omitempty"`
// For multi hop sessions only: configure the minimum
// expected TTL for an incoming BFD control packet.
// +kubebuilder:validation:Maximum:=254
// +kubebuilder:validation:Minimum:=1
// +optional
MinimumTTL *uint32 `json:"minimumTtl,omitempty"`
}
BFDProfileSpec defines the desired state of BFDProfile.
func (*BFDProfileSpec) DeepCopy ¶
func (in *BFDProfileSpec) DeepCopy() *BFDProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BFDProfileSpec.
func (*BFDProfileSpec) DeepCopyInto ¶
func (in *BFDProfileSpec) DeepCopyInto(out *BFDProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BFDProfileStatus ¶
type BFDProfileStatus struct {
}
BFDProfileStatus defines the observed state of BFDProfile.
func (*BFDProfileStatus) DeepCopy ¶
func (in *BFDProfileStatus) DeepCopy() *BFDProfileStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BFDProfileStatus.
func (*BFDProfileStatus) DeepCopyInto ¶
func (in *BFDProfileStatus) DeepCopyInto(out *BFDProfileStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPAdvertisement ¶
type BGPAdvertisement struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BGPAdvertisementSpec `json:"spec,omitempty"`
Status BGPAdvertisementStatus `json:"status,omitempty"`
}
BGPAdvertisement allows to advertise the IPs coming from the selected IPAddressPools via BGP, setting the parameters of the BGP Advertisement.
func (*BGPAdvertisement) DeepCopy ¶
func (in *BGPAdvertisement) DeepCopy() *BGPAdvertisement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAdvertisement.
func (*BGPAdvertisement) DeepCopyInto ¶
func (in *BGPAdvertisement) DeepCopyInto(out *BGPAdvertisement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPAdvertisement) DeepCopyObject ¶
func (in *BGPAdvertisement) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BGPAdvertisementList ¶
type BGPAdvertisementList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BGPAdvertisement `json:"items"`
}
BGPAdvertisementList contains a list of BGPAdvertisement.
func (*BGPAdvertisementList) DeepCopy ¶
func (in *BGPAdvertisementList) DeepCopy() *BGPAdvertisementList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAdvertisementList.
func (*BGPAdvertisementList) DeepCopyInto ¶
func (in *BGPAdvertisementList) DeepCopyInto(out *BGPAdvertisementList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPAdvertisementList) DeepCopyObject ¶
func (in *BGPAdvertisementList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BGPAdvertisementSpec ¶
type BGPAdvertisementSpec struct {
// The aggregation-length advertisement option lets you “roll up” the /32s into a larger prefix. Defaults to 32. Works for IPv4 addresses.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:default:=32
// +optional
AggregationLength *int32 `json:"aggregationLength,omitempty"`
// The aggregation-length advertisement option lets you “roll up” the /128s into a larger prefix. Defaults to 128. Works for IPv6 addresses.
// +kubebuilder:default:=128
// +optional
AggregationLengthV6 *int32 `json:"aggregationLengthV6,omitempty"`
// The BGP LOCAL_PREF attribute which is used by BGP best path algorithm,
// Path with higher localpref is preferred over one with lower localpref.
// +optional
LocalPref uint32 `json:"localPref,omitempty"`
// The BGP communities to be associated with the announcement. Each item can be a standard community of the
// form 1234:1234, a large community of the form large:1234:1234:1234 or the name of an alias defined in the
// Community CRD.
// +optional
Communities []string `json:"communities,omitempty"`
// The list of IPAddressPools to advertise via this advertisement, selected by name.
// +optional
IPAddressPools []string `json:"ipAddressPools,omitempty"`
// A selector for the IPAddressPools which would get advertised via this advertisement.
// If no IPAddressPool is selected by this or by the list, the advertisement is applied to all the IPAddressPools.
// +optional
IPAddressPoolSelectors []metav1.LabelSelector `json:"ipAddressPoolSelectors,omitempty"`
// NodeSelectors allows to limit the nodes to announce as next hops for the LoadBalancer IP. When empty, all the nodes having are announced as next hops.
// +optional
NodeSelectors []metav1.LabelSelector `json:"nodeSelectors,omitempty"`
// Peers limits the bgppeer to advertise the ips of the selected pools to.
// When empty, the loadbalancer IP is announced to all the BGPPeers configured.
// +optional
Peers []string `json:"peers,omitempty"`
}
BGPAdvertisementSpec defines the desired state of BGPAdvertisement.
func (*BGPAdvertisementSpec) DeepCopy ¶
func (in *BGPAdvertisementSpec) DeepCopy() *BGPAdvertisementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAdvertisementSpec.
func (*BGPAdvertisementSpec) DeepCopyInto ¶
func (in *BGPAdvertisementSpec) DeepCopyInto(out *BGPAdvertisementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPAdvertisementStatus ¶
type BGPAdvertisementStatus struct {
}
BGPAdvertisementStatus defines the observed state of BGPAdvertisement.
func (*BGPAdvertisementStatus) DeepCopy ¶
func (in *BGPAdvertisementStatus) DeepCopy() *BGPAdvertisementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAdvertisementStatus.
func (*BGPAdvertisementStatus) DeepCopyInto ¶
func (in *BGPAdvertisementStatus) DeepCopyInto(out *BGPAdvertisementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPPeer ¶
type BGPPeer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BGPPeerSpec `json:"spec,omitempty"`
Status BGPPeerStatus `json:"status,omitempty"`
}
BGPPeer is the Schema for the peers API.
func (*BGPPeer) ConvertFrom ¶
func (dst *BGPPeer) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts from the Hub version (v1beta2) to this version.
func (*BGPPeer) ConvertTo ¶
func (src *BGPPeer) ConvertTo(dstRaw conversion.Hub) error
ConvertTo converts this BGPPeer to the Hub version (v1beta2).
func (*BGPPeer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeer.
func (*BGPPeer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPPeer) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BGPPeerList ¶
type BGPPeerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BGPPeer `json:"items"`
}
PeerList contains a list of Peer.
func (*BGPPeerList) DeepCopy ¶
func (in *BGPPeerList) DeepCopy() *BGPPeerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerList.
func (*BGPPeerList) DeepCopyInto ¶
func (in *BGPPeerList) DeepCopyInto(out *BGPPeerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPPeerList) DeepCopyObject ¶
func (in *BGPPeerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BGPPeerSpec ¶
type BGPPeerSpec struct {
// AS number to use for the local end of the session.
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=4294967295
MyASN uint32 `json:"myASN"`
// AS number to expect from the remote end of the session.
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=4294967295
ASN uint32 `json:"peerASN"`
// Address to dial when establishing the session.
Address string `json:"peerAddress"`
// Source address to use when establishing the session.
// +optional
SrcAddress string `json:"sourceAddress,omitempty"`
// Port to dial when establishing the session.
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=16384
Port uint16 `json:"peerPort,omitempty"`
// Requested BGP hold time, per RFC4271.
// +optional
HoldTime metav1.Duration `json:"holdTime,omitempty"`
// Requested BGP keepalive time, per RFC4271.
// +optional
KeepaliveTime metav1.Duration `json:"keepaliveTime,omitempty"`
// BGP router ID to advertise to the peer
// +optional
RouterID string `json:"routerID,omitempty"`
// Only connect to this peer on nodes that match one of these
// selectors.
// +optional
NodeSelectors []NodeSelector `json:"nodeSelectors,omitempty"`
// Authentication password for routers enforcing TCP MD5 authenticated sessions
// +optional
Password string `json:"password,omitempty"`
BFDProfile string `json:"bfdProfile,omitempty"`
// EBGP peer is multi-hops away
EBGPMultiHop bool `json:"ebgpMultiHop,omitempty"`
}
BGPPeerSpec defines the desired state of Peer.
func (*BGPPeerSpec) DeepCopy ¶
func (in *BGPPeerSpec) DeepCopy() *BGPPeerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerSpec.
func (*BGPPeerSpec) DeepCopyInto ¶
func (in *BGPPeerSpec) DeepCopyInto(out *BGPPeerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BGPPeerStatus ¶
type BGPPeerStatus struct {
}
BGPPeerStatus defines the observed state of Peer.
func (*BGPPeerStatus) DeepCopy ¶
func (in *BGPPeerStatus) DeepCopy() *BGPPeerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeerStatus.
func (*BGPPeerStatus) DeepCopyInto ¶
func (in *BGPPeerStatus) DeepCopyInto(out *BGPPeerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Community ¶
type Community struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CommunitySpec `json:"spec,omitempty"`
Status CommunityStatus `json:"status,omitempty"`
}
Community is a collection of aliases for communities. Users can define named aliases to be used in the BGPPeer CRD.
func (*Community) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Community.
func (*Community) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Community) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CommunityAlias ¶
type CommunityAlias struct {
// The name of the alias for the community.
Name string `json:"name,omitempty"`
// The BGP community value corresponding to the given name. Can be a standard community of the form 1234:1234
// or a large community of the form large:1234:1234:1234.
Value string `json:"value,omitempty"`
}
func (*CommunityAlias) DeepCopy ¶
func (in *CommunityAlias) DeepCopy() *CommunityAlias
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityAlias.
func (*CommunityAlias) DeepCopyInto ¶
func (in *CommunityAlias) DeepCopyInto(out *CommunityAlias)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommunityList ¶
type CommunityList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Community `json:"items"`
}
CommunityList contains a list of Community.
func (*CommunityList) DeepCopy ¶
func (in *CommunityList) DeepCopy() *CommunityList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityList.
func (*CommunityList) DeepCopyInto ¶
func (in *CommunityList) DeepCopyInto(out *CommunityList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CommunityList) DeepCopyObject ¶
func (in *CommunityList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CommunitySpec ¶
type CommunitySpec struct {
Communities []CommunityAlias `json:"communities,omitempty"`
}
CommunitySpec defines the desired state of Community.
func (*CommunitySpec) DeepCopy ¶
func (in *CommunitySpec) DeepCopy() *CommunitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunitySpec.
func (*CommunitySpec) DeepCopyInto ¶
func (in *CommunitySpec) DeepCopyInto(out *CommunitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommunityStatus ¶
type CommunityStatus struct {
}
CommunityStatus defines the observed state of Community.
func (*CommunityStatus) DeepCopy ¶
func (in *CommunityStatus) DeepCopy() *CommunityStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityStatus.
func (*CommunityStatus) DeepCopyInto ¶
func (in *CommunityStatus) DeepCopyInto(out *CommunityStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAddressPool ¶
type IPAddressPool struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec IPAddressPoolSpec `json:"spec"`
Status IPAddressPoolStatus `json:"status,omitempty"`
}
IPAddressPool represents a pool of IP addresses that can be allocated to LoadBalancer services.
func (*IPAddressPool) DeepCopy ¶
func (in *IPAddressPool) DeepCopy() *IPAddressPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPool.
func (*IPAddressPool) DeepCopyInto ¶
func (in *IPAddressPool) DeepCopyInto(out *IPAddressPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAddressPool) DeepCopyObject ¶
func (in *IPAddressPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAddressPoolList ¶
type IPAddressPoolList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []IPAddressPool `json:"items"`
}
IPAddressPoolList contains a list of IPAddressPool.
func (*IPAddressPoolList) DeepCopy ¶
func (in *IPAddressPoolList) DeepCopy() *IPAddressPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPoolList.
func (*IPAddressPoolList) DeepCopyInto ¶
func (in *IPAddressPoolList) DeepCopyInto(out *IPAddressPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAddressPoolList) DeepCopyObject ¶
func (in *IPAddressPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAddressPoolSpec ¶
type IPAddressPoolSpec struct {
// A list of IP address ranges over which MetalLB has authority.
// You can list multiple ranges in a single pool, they will all share the
// same settings. Each range can be either a CIDR prefix, or an explicit
// start-end range of IPs.
Addresses []string `json:"addresses"`
// AutoAssign flag used to prevent MetallB from automatic allocation
// for a pool.
// +optional
// +kubebuilder:default:=true
AutoAssign *bool `json:"autoAssign,omitempty"`
// AvoidBuggyIPs prevents addresses ending with .0 and .255
// to be used by a pool.
// +optional
// +kubebuilder:default:=false
AvoidBuggyIPs bool `json:"avoidBuggyIPs,omitempty"`
// AllocateTo makes ip pool allocation to specific namespace and/or service.
// The controller will use the pool with lowest value of priority in case of
// multiple matches. A pool with no priority set will be used only if the
// pools with priority can't be used. If multiple matching IPAddressPools are
// available it will check for the availability of IPs sorting the matching
// IPAddressPools by priority, starting from the highest to the lowest. If
// multiple IPAddressPools have the same priority, choice will be random.
// +optional
AllocateTo *ServiceAllocation `json:"serviceAllocation,omitempty"`
}
IPAddressPoolSpec defines the desired state of IPAddressPool.
func (*IPAddressPoolSpec) DeepCopy ¶
func (in *IPAddressPoolSpec) DeepCopy() *IPAddressPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPoolSpec.
func (*IPAddressPoolSpec) DeepCopyInto ¶
func (in *IPAddressPoolSpec) DeepCopyInto(out *IPAddressPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAddressPoolStatus ¶
type IPAddressPoolStatus struct {
// AssignedIPv4 is the number of assigned IPv4 addresses.
AssignedIPv4 int64 `json:"assignedIPv4"`
// AssignedIPv6 is the number of assigned IPv6 addresses.
AssignedIPv6 int64 `json:"assignedIPv6"`
// AvailableIPv4 is the number of available IPv4 addresses.
AvailableIPv4 int64 `json:"availableIPv4"`
// AvailableIPv6 is the number of available IPv6 addresses.
AvailableIPv6 int64 `json:"availableIPv6"`
}
IPAddressPoolStatus defines the observed state of IPAddressPool.
func (*IPAddressPoolStatus) DeepCopy ¶
func (in *IPAddressPoolStatus) DeepCopy() *IPAddressPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPoolStatus.
func (*IPAddressPoolStatus) DeepCopyInto ¶
func (in *IPAddressPoolStatus) DeepCopyInto(out *IPAddressPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceInfo ¶
type InterfaceInfo struct {
// Name the name of network interface card
Name string `json:"name,omitempty"`
}
InterfaceInfo defines interface info of layer2 announcement.
func (*InterfaceInfo) DeepCopy ¶
func (in *InterfaceInfo) DeepCopy() *InterfaceInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceInfo.
func (*InterfaceInfo) DeepCopyInto ¶
func (in *InterfaceInfo) DeepCopyInto(out *InterfaceInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type L2Advertisement ¶
type L2Advertisement struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec L2AdvertisementSpec `json:"spec,omitempty"`
Status L2AdvertisementStatus `json:"status,omitempty"`
}
L2Advertisement allows to advertise the LoadBalancer IPs provided by the selected pools via L2.
func (*L2Advertisement) DeepCopy ¶
func (in *L2Advertisement) DeepCopy() *L2Advertisement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L2Advertisement.
func (*L2Advertisement) DeepCopyInto ¶
func (in *L2Advertisement) DeepCopyInto(out *L2Advertisement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*L2Advertisement) DeepCopyObject ¶
func (in *L2Advertisement) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type L2AdvertisementList ¶
type L2AdvertisementList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []L2Advertisement `json:"items"`
}
L2AdvertisementList contains a list of L2Advertisement.
func (*L2AdvertisementList) DeepCopy ¶
func (in *L2AdvertisementList) DeepCopy() *L2AdvertisementList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L2AdvertisementList.
func (*L2AdvertisementList) DeepCopyInto ¶
func (in *L2AdvertisementList) DeepCopyInto(out *L2AdvertisementList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*L2AdvertisementList) DeepCopyObject ¶
func (in *L2AdvertisementList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type L2AdvertisementSpec ¶
type L2AdvertisementSpec struct {
// The list of IPAddressPools to advertise via this advertisement, selected by name.
// +optional
IPAddressPools []string `json:"ipAddressPools,omitempty"`
// A selector for the IPAddressPools which would get advertised via this advertisement.
// If no IPAddressPool is selected by this or by the list, the advertisement is applied to all the IPAddressPools.
// +optional
IPAddressPoolSelectors []metav1.LabelSelector `json:"ipAddressPoolSelectors,omitempty"`
// NodeSelectors allows to limit the nodes to announce as next hops for the LoadBalancer IP. When empty, all the nodes having are announced as next hops.
// +optional
NodeSelectors []metav1.LabelSelector `json:"nodeSelectors,omitempty"`
// A list of interfaces to announce from. The LB IP will be announced only from these interfaces.
// If the field is not set, we advertise from all the interfaces on the host.
// +optional
Interfaces []string `json:"interfaces,omitempty"`
}
L2AdvertisementSpec defines the desired state of L2Advertisement.
func (*L2AdvertisementSpec) DeepCopy ¶
func (in *L2AdvertisementSpec) DeepCopy() *L2AdvertisementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L2AdvertisementSpec.
func (*L2AdvertisementSpec) DeepCopyInto ¶
func (in *L2AdvertisementSpec) DeepCopyInto(out *L2AdvertisementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type L2AdvertisementStatus ¶
type L2AdvertisementStatus struct {
}
L2AdvertisementStatus defines the observed state of L2Advertisement.
func (*L2AdvertisementStatus) DeepCopy ¶
func (in *L2AdvertisementStatus) DeepCopy() *L2AdvertisementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L2AdvertisementStatus.
func (*L2AdvertisementStatus) DeepCopyInto ¶
func (in *L2AdvertisementStatus) DeepCopyInto(out *L2AdvertisementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MatchExpression ¶
type MatchExpression struct {
Key string `json:"key"`
Operator string `json:"operator"`
// +kubebuilder:validation:MinItems:=1
Values []string `json:"values"`
}
func (*MatchExpression) DeepCopy ¶
func (in *MatchExpression) DeepCopy() *MatchExpression
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchExpression.
func (*MatchExpression) DeepCopyInto ¶
func (in *MatchExpression) DeepCopyInto(out *MatchExpression)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetalLBServiceBGPStatus ¶
type MetalLBServiceBGPStatus struct {
// Node indicates the node announcing the service.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Node string `json:"node,omitempty"`
// ServiceName indicates the service this status represents.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
ServiceName string `json:"serviceName,omitempty"`
// ServiceNamespace indicates the namespace of the service.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
ServiceNamespace string `json:"serviceNamespace,omitempty"`
// Peers indicate the BGP peers for which the service is configured to be advertised to.
// The service being actually advertised to a given peer depends on the session state and is not indicated here.
Peers []string `json:"peers,omitempty"`
}
MetalLBServiceBGPStatus defines the observed state of ServiceBGPStatus.
func (*MetalLBServiceBGPStatus) DeepCopy ¶
func (in *MetalLBServiceBGPStatus) DeepCopy() *MetalLBServiceBGPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalLBServiceBGPStatus.
func (*MetalLBServiceBGPStatus) DeepCopyInto ¶
func (in *MetalLBServiceBGPStatus) DeepCopyInto(out *MetalLBServiceBGPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetalLBServiceL2Status ¶
type MetalLBServiceL2Status struct {
// Node indicates the node that receives the directed traffic
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Node string `json:"node,omitempty"`
// ServiceName indicates the service this status represents
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
ServiceName string `json:"serviceName,omitempty"`
// ServiceNamespace indicates the namespace of the service
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
ServiceNamespace string `json:"serviceNamespace,omitempty"`
// Interfaces indicates the interfaces that receive the directed traffic
Interfaces []InterfaceInfo `json:"interfaces,omitempty"`
}
MetalLBServiceL2Status defines the observed state of ServiceL2Status.
func (*MetalLBServiceL2Status) DeepCopy ¶
func (in *MetalLBServiceL2Status) DeepCopy() *MetalLBServiceL2Status
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalLBServiceL2Status.
func (*MetalLBServiceL2Status) DeepCopyInto ¶
func (in *MetalLBServiceL2Status) DeepCopyInto(out *MetalLBServiceL2Status)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeSelector ¶
type NodeSelector struct {
// +optional
MatchLabels map[string]string `json:"matchLabels,omitempty"`
// +optional
MatchExpressions []MatchExpression `json:"matchExpressions,omitempty"`
}
func (*NodeSelector) DeepCopy ¶
func (in *NodeSelector) DeepCopy() *NodeSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSelector.
func (*NodeSelector) DeepCopyInto ¶
func (in *NodeSelector) DeepCopyInto(out *NodeSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAllocation ¶
type ServiceAllocation struct {
// Priority priority given for ip pool while ip allocation on a service.
Priority int `json:"priority,omitempty"`
// Namespaces list of namespace(s) on which ip pool can be attached.
Namespaces []string `json:"namespaces,omitempty"`
// NamespaceSelectors list of label selectors to select namespace(s) for ip pool,
// an alternative to using namespace list.
NamespaceSelectors []metav1.LabelSelector `json:"namespaceSelectors,omitempty"`
// ServiceSelectors list of label selector to select service(s) for which ip pool
// can be used for ip allocation.
ServiceSelectors []metav1.LabelSelector `json:"serviceSelectors,omitempty"`
}
ServiceAllocation defines ip pool allocation to namespace and/or service.
func (*ServiceAllocation) DeepCopy ¶
func (in *ServiceAllocation) DeepCopy() *ServiceAllocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAllocation.
func (*ServiceAllocation) DeepCopyInto ¶
func (in *ServiceAllocation) DeepCopyInto(out *ServiceAllocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceBGPStatus ¶
type ServiceBGPStatus struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceBGPStatusSpec `json:"spec,omitempty"`
Status MetalLBServiceBGPStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Node",type=string,JSONPath=`.status.node` +kubebuilder:printcolumn:name="Service Name",type=string,JSONPath=`.status.serviceName` +kubebuilder:printcolumn:name="Service Namespace",type=string,JSONPath=`.status.serviceNamespace` ServiceBGPStatus exposes the BGP peers a service is configured to be advertised to, per relevant node.
func (*ServiceBGPStatus) DeepCopy ¶
func (in *ServiceBGPStatus) DeepCopy() *ServiceBGPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBGPStatus.
func (*ServiceBGPStatus) DeepCopyInto ¶
func (in *ServiceBGPStatus) DeepCopyInto(out *ServiceBGPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceBGPStatus) DeepCopyObject ¶
func (in *ServiceBGPStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceBGPStatusList ¶
type ServiceBGPStatusList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceBGPStatus `json:"items"`
}
ServiceBGPStatusList contains a list of ServiceBGPStatus.
func (*ServiceBGPStatusList) DeepCopy ¶
func (in *ServiceBGPStatusList) DeepCopy() *ServiceBGPStatusList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBGPStatusList.
func (*ServiceBGPStatusList) DeepCopyInto ¶
func (in *ServiceBGPStatusList) DeepCopyInto(out *ServiceBGPStatusList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceBGPStatusList) DeepCopyObject ¶
func (in *ServiceBGPStatusList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceBGPStatusSpec ¶
type ServiceBGPStatusSpec struct {
}
ServiceBGPStatusSpec defines the desired state of ServiceBGPStatus.
func (*ServiceBGPStatusSpec) DeepCopy ¶
func (in *ServiceBGPStatusSpec) DeepCopy() *ServiceBGPStatusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBGPStatusSpec.
func (*ServiceBGPStatusSpec) DeepCopyInto ¶
func (in *ServiceBGPStatusSpec) DeepCopyInto(out *ServiceBGPStatusSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceL2Status ¶
type ServiceL2Status struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceL2StatusSpec `json:"spec,omitempty"`
Status MetalLBServiceL2Status `json:"status,omitempty"`
}
ServiceL2Status reveals the actual traffic status of loadbalancer services in layer2 mode.
func (*ServiceL2Status) DeepCopy ¶
func (in *ServiceL2Status) DeepCopy() *ServiceL2Status
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceL2Status.
func (*ServiceL2Status) DeepCopyInto ¶
func (in *ServiceL2Status) DeepCopyInto(out *ServiceL2Status)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceL2Status) DeepCopyObject ¶
func (in *ServiceL2Status) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceL2StatusList ¶
type ServiceL2StatusList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceL2Status `json:"items"`
}
ServiceL2StatusList contains a list of ServiceL2Status.
func (*ServiceL2StatusList) DeepCopy ¶
func (in *ServiceL2StatusList) DeepCopy() *ServiceL2StatusList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceL2StatusList.
func (*ServiceL2StatusList) DeepCopyInto ¶
func (in *ServiceL2StatusList) DeepCopyInto(out *ServiceL2StatusList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceL2StatusList) DeepCopyObject ¶
func (in *ServiceL2StatusList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceL2StatusSpec ¶
type ServiceL2StatusSpec struct {
}
ServiceL2StatusSpec defines the desired state of ServiceL2Status.
func (*ServiceL2StatusSpec) DeepCopy ¶
func (in *ServiceL2StatusSpec) DeepCopy() *ServiceL2StatusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceL2StatusSpec.
func (*ServiceL2StatusSpec) DeepCopyInto ¶
func (in *ServiceL2StatusSpec) DeepCopyInto(out *ServiceL2StatusSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.