Documentation ¶
Overview ¶
+groupName=metallb.io
+kubebuilder:object:generate=true +groupName=metallb.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "metallb.io", Version: "v1beta2"} // 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 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) 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 // +kubebuilder:default:=179 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"` // Requested BGP connect time, controls how long BGP waits between connection attempts to a neighbor. // +kubebuilder:validation:XValidation:message="connect time should be between 1 seconds to 65535",rule="duration(self).getSeconds() >= 1 && duration(self).getSeconds() <= 65535" // +kubebuilder:validation:XValidation:message="connect time should contain a whole number of seconds",rule="duration(self).getMilliseconds() % 1000 == 0" // +optional ConnectTime *metav1.Duration `json:"connectTime,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 []metav1.LabelSelector `json:"nodeSelectors,omitempty"` // Authentication password for routers enforcing TCP MD5 authenticated sessions // +optional Password string `json:"password,omitempty"` // passwordSecret is name of the authentication secret for BGP Peer. // the secret must be of type "kubernetes.io/basic-auth", and created in the // same namespace as the MetalLB deployment. The password is stored in the // secret as the key "password". // +optional PasswordSecret v1.SecretReference `json:"passwordSecret,omitempty"` // The name of the BFD Profile to be used for the BFD session associated to the BGP session. If not set, the BFD session won't be set up. // +optional BFDProfile string `json:"bfdProfile,omitempty"` // To set if the BGPPeer is multi-hops away. Needed for FRR mode only. // +optional EBGPMultiHop bool `json:"ebgpMultiHop,omitempty"` // To set if we want to peer with the BGPPeer using an interface belonging to // a host vrf // +optional VRFName string `json:"vrf,omitempty"` // To set if we want to disable MP BGP that will separate IPv4 and IPv6 route exchanges into distinct BGP sessions. // +optional // +kubebuilder:default:=false DisableMP bool `json:"disableMP,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.