Documentation ¶
Overview ¶
+groupName=metallb.io
+kubebuilder:object:generate=true +groupName=metallb.io
Index ¶
- Variables
- type AddressPool
- func (in *AddressPool) DeepCopy() *AddressPool
- func (in *AddressPool) DeepCopyInto(out *AddressPool)
- func (in *AddressPool) DeepCopyObject() runtime.Object
- func (*AddressPool) Hub()
- func (addressPool *AddressPool) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (addressPool *AddressPool) ValidateCreate() error
- func (addressPool *AddressPool) ValidateDelete() error
- func (addressPool *AddressPool) ValidateUpdate(old runtime.Object) error
- type AddressPoolList
- type AddressPoolSpec
- type AddressPoolStatus
- type BFDProfile
- func (in *BFDProfile) DeepCopy() *BFDProfile
- func (in *BFDProfile) DeepCopyInto(out *BFDProfile)
- func (in *BFDProfile) DeepCopyObject() runtime.Object
- func (bfdProfile *BFDProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (bfdProfile *BFDProfile) ValidateCreate() error
- func (bfdProfile *BFDProfile) ValidateDelete() error
- func (bfdProfile *BFDProfile) ValidateUpdate(old runtime.Object) error
- type BFDProfileList
- type BFDProfileSpec
- type BFDProfileStatus
- type BGPAdvertisement
- func (in *BGPAdvertisement) DeepCopy() *BGPAdvertisement
- func (in *BGPAdvertisement) DeepCopyInto(out *BGPAdvertisement)
- func (in *BGPAdvertisement) DeepCopyObject() runtime.Object
- func (bgpAdv *BGPAdvertisement) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (bgpAdv *BGPAdvertisement) ValidateCreate() error
- func (bgpAdv *BGPAdvertisement) ValidateDelete() error
- func (bgpAdv *BGPAdvertisement) ValidateUpdate(old runtime.Object) error
- type BGPAdvertisementList
- type BGPAdvertisementSpec
- type BGPAdvertisementStatus
- type BGPPeer
- type BGPPeerList
- type BGPPeerSpec
- type BGPPeerStatus
- type Community
- func (in *Community) DeepCopy() *Community
- func (in *Community) DeepCopyInto(out *Community)
- func (in *Community) DeepCopyObject() runtime.Object
- func (community *Community) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (community *Community) ValidateCreate() error
- func (community *Community) ValidateDelete() error
- func (community *Community) ValidateUpdate(old runtime.Object) error
- type CommunityAlias
- type CommunityList
- type CommunitySpec
- type CommunityStatus
- type IPAddressPool
- func (in *IPAddressPool) DeepCopy() *IPAddressPool
- func (in *IPAddressPool) DeepCopyInto(out *IPAddressPool)
- func (in *IPAddressPool) DeepCopyObject() runtime.Object
- func (ipAddress *IPAddressPool) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (ipAddress *IPAddressPool) ValidateCreate() error
- func (ipAddress *IPAddressPool) ValidateDelete() error
- func (ipAddress *IPAddressPool) ValidateUpdate(old runtime.Object) error
- type IPAddressPoolList
- type IPAddressPoolSpec
- type IPAddressPoolStatus
- type L2Advertisement
- func (in *L2Advertisement) DeepCopy() *L2Advertisement
- func (in *L2Advertisement) DeepCopyInto(out *L2Advertisement)
- func (in *L2Advertisement) DeepCopyObject() runtime.Object
- func (l2Adv *L2Advertisement) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (l2Adv *L2Advertisement) ValidateCreate() error
- func (l2Adv *L2Advertisement) ValidateDelete() error
- func (l2Adv *L2Advertisement) ValidateUpdate(old runtime.Object) error
- type L2AdvertisementList
- type L2AdvertisementSpec
- type L2AdvertisementStatus
- type LegacyBgpAdvertisement
- type MatchExpression
- type NodeSelector
- type ServiceAllocation
Constants ¶
This section is empty.
Variables ¶
var ( Logger log.Logger WebhookClient client.Reader Validator validate.ClusterObjects MetalLBNamespace string )
log is for logging addresspool-webhook.
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 AddressPool ¶
type AddressPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AddressPoolSpec `json:"spec"` Status AddressPoolStatus `json:"status,omitempty"` }
AddressPool represents a pool of IP addresses that can be allocated to LoadBalancer services. AddressPool is deprecated and being replaced by IPAddressPool.
func (*AddressPool) DeepCopy ¶
func (in *AddressPool) DeepCopy() *AddressPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressPool.
func (*AddressPool) DeepCopyInto ¶
func (in *AddressPool) DeepCopyInto(out *AddressPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddressPool) DeepCopyObject ¶
func (in *AddressPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AddressPool) SetupWebhookWithManager ¶
func (addressPool *AddressPool) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*AddressPool) ValidateCreate ¶
func (addressPool *AddressPool) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for AddressPool.
func (*AddressPool) ValidateDelete ¶
func (addressPool *AddressPool) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for AddressPool.
func (*AddressPool) ValidateUpdate ¶
func (addressPool *AddressPool) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for AddressPool.
type AddressPoolList ¶
type AddressPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AddressPool `json:"items"` }
AddressPoolList contains a list of AddressPool.
func (*AddressPoolList) DeepCopy ¶
func (in *AddressPoolList) DeepCopy() *AddressPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressPoolList.
func (*AddressPoolList) DeepCopyInto ¶
func (in *AddressPoolList) DeepCopyInto(out *AddressPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddressPoolList) DeepCopyObject ¶
func (in *AddressPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddressPoolSpec ¶
type AddressPoolSpec struct { // Protocol can be used to select how the announcement is done. // +kubebuilder:validation:Enum:=layer2; bgp Protocol string `json:"protocol"` // 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"` // Drives how an IP allocated from this pool should // translated into BGP announcements. // +optional BGPAdvertisements []LegacyBgpAdvertisement `json:"bgpAdvertisements,omitempty"` }
AddressPoolSpec defines the desired state of AddressPool.
func (*AddressPoolSpec) DeepCopy ¶
func (in *AddressPoolSpec) DeepCopy() *AddressPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressPoolSpec.
func (*AddressPoolSpec) DeepCopyInto ¶
func (in *AddressPoolSpec) DeepCopyInto(out *AddressPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddressPoolStatus ¶
type AddressPoolStatus struct { }
AddressPoolStatus defines the observed state of AddressPool.
func (*AddressPoolStatus) DeepCopy ¶
func (in *AddressPoolStatus) DeepCopy() *AddressPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressPoolStatus.
func (*AddressPoolStatus) DeepCopyInto ¶
func (in *AddressPoolStatus) DeepCopyInto(out *AddressPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
func (*BFDProfile) SetupWebhookWithManager ¶
func (bfdProfile *BFDProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*BFDProfile) ValidateCreate ¶
func (bfdProfile *BFDProfile) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for BFDProfile.
func (*BFDProfile) ValidateDelete ¶
func (bfdProfile *BFDProfile) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for BFDProfile.
func (*BFDProfile) ValidateUpdate ¶
func (bfdProfile *BFDProfile) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for BFDProfile.
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.
func (*BGPAdvertisement) SetupWebhookWithManager ¶
func (bgpAdv *BGPAdvertisement) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*BGPAdvertisement) ValidateCreate ¶
func (bgpAdv *BGPAdvertisement) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for BGPAdvertisement.
func (*BGPAdvertisement) ValidateDelete ¶
func (bgpAdv *BGPAdvertisement) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for BGPAdvertisement.
func (*BGPAdvertisement) ValidateUpdate ¶
func (bgpAdv *BGPAdvertisement) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for BGPAdvertisement.
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.
func (*Community) SetupWebhookWithManager ¶
func (*Community) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for Community.
func (*Community) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for Community.
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"` }
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.
func (*IPAddressPool) SetupWebhookWithManager ¶
func (ipAddress *IPAddressPool) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IPAddressPool) ValidateCreate ¶
func (ipAddress *IPAddressPool) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for IPAddressPool.
func (*IPAddressPool) ValidateDelete ¶
func (ipAddress *IPAddressPool) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for IPAddressPool.
func (*IPAddressPool) ValidateUpdate ¶
func (ipAddress *IPAddressPool) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for IPAddressPool.
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 { }
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 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.
func (*L2Advertisement) SetupWebhookWithManager ¶
func (l2Adv *L2Advertisement) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*L2Advertisement) ValidateCreate ¶
func (l2Adv *L2Advertisement) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for L2Advertisement.
func (*L2Advertisement) ValidateDelete ¶
func (l2Adv *L2Advertisement) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for L2Advertisement.
func (*L2Advertisement) ValidateUpdate ¶
func (l2Adv *L2Advertisement) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for L2Advertisement.
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 LegacyBgpAdvertisement ¶
type LegacyBgpAdvertisement struct { // The aggregation-length advertisement option lets you “roll up” the /32s into a larger prefix. // +kubebuilder:validation:Minimum=1 // +kubebuilder:default:=32 // +optional AggregationLength *int32 `json:"aggregationLength,omitempty"` // Optional, defaults to 128 (i.e. no aggregation) if not // specified. // +kubebuilder:default:=128 // +optional AggregationLengthV6 *int32 `json:"aggregationLengthV6,omitempty"` // BGP LOCAL_PREF attribute which is used by BGP best path algorithm, // Path with higher localpref is preferred over one with lower localpref. LocalPref uint32 `json:"localPref,omitempty"` // BGP communities to be associated with the given advertisement. Communities []string `json:"communities,omitempty"` }
func (*LegacyBgpAdvertisement) DeepCopy ¶
func (in *LegacyBgpAdvertisement) DeepCopy() *LegacyBgpAdvertisement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LegacyBgpAdvertisement.
func (*LegacyBgpAdvertisement) DeepCopyInto ¶
func (in *LegacyBgpAdvertisement) DeepCopyInto(out *LegacyBgpAdvertisement)
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 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 ¶ added in v0.13.8
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.
Source Files ¶
- addresspool_conversion.go
- addresspool_types.go
- addresspool_webhook.go
- bfdprofile_types.go
- bfdprofile_webhook.go
- bgpadvertisement_types.go
- bgpadvertisement_webhook.go
- bgppeer_conversion.go
- bgppeer_types.go
- common.go
- community_types.go
- community_webhook.go
- doc.go
- groupversion_info.go
- ipaddresspool_types.go
- ipaddresspool_webhook.go
- l2advertisement_types.go
- l2advertisement_webhook.go
- zz_generated.deepcopy.go