v1beta1

package
v0.13.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2023 License: Apache-2.0 Imports: 16 Imported by: 11

Documentation

Overview

+groupName=metallb.io

+kubebuilder:object:generate=true +groupName=metallb.io

Index

Constants

This section is empty.

Variables

View Source
var (
	Logger           log.Logger
	WebhookClient    client.Reader
	Validator        validate.ClusterObjects
	MetalLBNamespace string
)

log is for logging addresspool-webhook.

View Source
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) Hub

func (*AddressPool) Hub()

Hub marks this type as a conversion hub.

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

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

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

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

func (in *BGPPeer) DeepCopy() *BGPPeer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPPeer.

func (*BGPPeer) DeepCopyInto

func (in *BGPPeer) DeepCopyInto(out *BGPPeer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BGPPeer) DeepCopyObject

func (in *BGPPeer) DeepCopyObject() runtime.Object

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

func (in *Community) DeepCopy() *Community

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Community.

func (*Community) DeepCopyInto

func (in *Community) DeepCopyInto(out *Community)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Community) DeepCopyObject

func (in *Community) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Community) SetupWebhookWithManager

func (community *Community) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Community) ValidateCreate

func (community *Community) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for Community.

func (*Community) ValidateDelete

func (community *Community) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for Community.

func (*Community) ValidateUpdate

func (community *Community) ValidateUpdate(old runtime.Object) error

ValidateUpdate 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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL