Documentation
¶
Overview ¶
Package v2alpha1 is the v2alpha1 version of the API. +groupName=cilium.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AllowFirstLastIPType
- type BGPAdvertisement
- type BGPAdvertisementType
- type BGPAttributes
- type BGPCommunities
- type BGPLargeCommunity
- type BGPServiceAddressType
- type BGPServiceOptions
- type BGPStandardCommunity
- type BGPWellKnownCommunity
- type CiliumBGPAdvertisement
- type CiliumBGPAdvertisementList
- type CiliumBGPAdvertisementSpec
- type CiliumBGPClusterConfig
- type CiliumBGPClusterConfigList
- type CiliumBGPClusterConfigSpec
- type CiliumBGPFamily
- type CiliumBGPFamilyWithAdverts
- type CiliumBGPInstance
- type CiliumBGPNeighbor
- type CiliumBGPNeighborGracefulRestart
- func (in *CiliumBGPNeighborGracefulRestart) DeepCopy() *CiliumBGPNeighborGracefulRestart
- func (in *CiliumBGPNeighborGracefulRestart) DeepCopyInto(out *CiliumBGPNeighborGracefulRestart)
- func (in *CiliumBGPNeighborGracefulRestart) DeepEqual(other *CiliumBGPNeighborGracefulRestart) bool
- func (gr *CiliumBGPNeighborGracefulRestart) SetDefaults()
- type CiliumBGPNodeConfig
- type CiliumBGPNodeConfigInstanceOverride
- func (in *CiliumBGPNodeConfigInstanceOverride) DeepCopy() *CiliumBGPNodeConfigInstanceOverride
- func (in *CiliumBGPNodeConfigInstanceOverride) DeepCopyInto(out *CiliumBGPNodeConfigInstanceOverride)
- func (in *CiliumBGPNodeConfigInstanceOverride) DeepEqual(other *CiliumBGPNodeConfigInstanceOverride) bool
- type CiliumBGPNodeConfigList
- type CiliumBGPNodeConfigOverride
- func (in *CiliumBGPNodeConfigOverride) DeepCopy() *CiliumBGPNodeConfigOverride
- func (in *CiliumBGPNodeConfigOverride) DeepCopyInto(out *CiliumBGPNodeConfigOverride)
- func (in *CiliumBGPNodeConfigOverride) DeepCopyObject() runtime.Object
- func (in *CiliumBGPNodeConfigOverride) DeepEqual(other *CiliumBGPNodeConfigOverride) bool
- type CiliumBGPNodeConfigOverrideList
- type CiliumBGPNodeConfigOverrideSpec
- type CiliumBGPNodeConfigPeerOverride
- type CiliumBGPNodeInstance
- type CiliumBGPNodeInstanceStatus
- type CiliumBGPNodePeer
- type CiliumBGPNodePeerStatus
- type CiliumBGPNodeSpec
- type CiliumBGPNodeStatus
- type CiliumBGPPathAttributes
- type CiliumBGPPeer
- type CiliumBGPPeerConfig
- type CiliumBGPPeerConfigList
- type CiliumBGPPeerConfigSpec
- type CiliumBGPPeeringPolicy
- func (in *CiliumBGPPeeringPolicy) DeepCopy() *CiliumBGPPeeringPolicy
- func (in *CiliumBGPPeeringPolicy) DeepCopyInto(out *CiliumBGPPeeringPolicy)
- func (in *CiliumBGPPeeringPolicy) DeepCopyObject() runtime.Object
- func (in *CiliumBGPPeeringPolicy) DeepEqual(other *CiliumBGPPeeringPolicy) bool
- func (p *CiliumBGPPeeringPolicy) SetDefaults()
- type CiliumBGPPeeringPolicyList
- type CiliumBGPPeeringPolicySpec
- type CiliumBGPTimers
- type CiliumBGPTimersState
- type CiliumBGPTransport
- type CiliumBGPVirtualRouter
- type CiliumCIDRGroup
- type CiliumCIDRGroupList
- type CiliumCIDRGroupSpec
- type CiliumEndpointSlice
- type CiliumEndpointSliceList
- type CiliumL2AnnouncementPolicy
- func (in *CiliumL2AnnouncementPolicy) DeepCopy() *CiliumL2AnnouncementPolicy
- func (in *CiliumL2AnnouncementPolicy) DeepCopyInto(out *CiliumL2AnnouncementPolicy)
- func (in *CiliumL2AnnouncementPolicy) DeepCopyObject() runtime.Object
- func (in *CiliumL2AnnouncementPolicy) DeepEqual(other *CiliumL2AnnouncementPolicy) bool
- type CiliumL2AnnouncementPolicyList
- type CiliumL2AnnouncementPolicySpec
- type CiliumL2AnnouncementPolicyStatus
- type CiliumLoadBalancerIPPool
- func (in *CiliumLoadBalancerIPPool) DeepCopy() *CiliumLoadBalancerIPPool
- func (in *CiliumLoadBalancerIPPool) DeepCopyInto(out *CiliumLoadBalancerIPPool)
- func (in *CiliumLoadBalancerIPPool) DeepCopyObject() runtime.Object
- func (in *CiliumLoadBalancerIPPool) DeepEqual(other *CiliumLoadBalancerIPPool) bool
- type CiliumLoadBalancerIPPoolIPBlock
- type CiliumLoadBalancerIPPoolList
- type CiliumLoadBalancerIPPoolSpec
- type CiliumLoadBalancerIPPoolStatus
- type CiliumNodeConfig
- type CiliumNodeConfigList
- type CiliumNodeConfigSpec
- type CiliumPodIPPool
- type CiliumPodIPPoolList
- type CoreCiliumEndpoint
- type EgressRule
- type IPPoolSpec
- type IPv4PoolSpec
- type IPv4orIPv6CIDR
- type IPv6PoolSpec
- type PeerConfigReference
- type PoolCIDR
Constants ¶
const ( // DefaultBGPExportPodCIDR defines the default value for ExportPodCIDR determining whether to export the Node's private CIDR block. DefaultBGPExportPodCIDR = false // DefaultBGPPeerLocalPort defines the default value for the local port over which to connect to the peer. // By default, BGP control plane will not set this value, and the kernel will pick a random port source port. DefaultBGPPeerLocalPort = 0 // DefaultBGPPeerPort defines the TCP port number of a CiliumBGPNeighbor when PeerPort is unspecified. DefaultBGPPeerPort = 179 // DefaultBGPEBGPMultihopTTL defines the default value for the TTL value used in BGP packets sent to the eBGP neighbors. DefaultBGPEBGPMultihopTTL = 1 // DefaultBGPConnectRetryTimeSeconds defines the default initial value for the BGP ConnectRetryTimer (RFC 4271, Section 8). DefaultBGPConnectRetryTimeSeconds = 120 // DefaultBGPHoldTimeSeconds defines the default initial value for the BGP HoldTimer (RFC 4271, Section 4.2). DefaultBGPHoldTimeSeconds = 90 // DefaultBGPKeepAliveTimeSeconds defines the default initial value for the BGP KeepaliveTimer (RFC 4271, Section 8). DefaultBGPKeepAliveTimeSeconds = 30 // DefaultBGPGRRestartTimeSeconds defines default Restart Time for graceful restart (RFC 4724, section 4.2) DefaultBGPGRRestartTimeSeconds = 120 // BGPLoadBalancerClass defines the BGP Control Plane load balancer class for Services. BGPLoadBalancerClass = "io.cilium/bgp-control-plane" // PodCIDRSelectorName defines the name for a selector matching Pod CIDRs // (standard cluster scope / Kubernetes IPAM CIDRs, not Multi-Pool IPAM CIDRs). PodCIDRSelectorName = "PodCIDR" // CiliumLoadBalancerIPPoolSelectorName defines the name for a selector matching CiliumLoadBalancerIPPool resources. CiliumLoadBalancerIPPoolSelectorName = "CiliumLoadBalancerIPPool" // CiliumPodIPPoolSelectorName defines the name for a selector matching CiliumPodIPPool resources. CiliumPodIPPoolSelectorName = CPIPKindDefinition )
const ( // CustomResourceDefinitionGroup is the name of the third party resource group CustomResourceDefinitionGroup = k8sconst.CustomResourceDefinitionGroup // CustomResourceDefinitionVersion is the current version of the resource CustomResourceDefinitionVersion = "v2alpha1" // CESPluralName is the plural name of Cilium Endpoint Slice CESPluralName = "ciliumendpointslices" // CESKindDefinition is the kind name of Cilium Endpoint Slice CESKindDefinition = "CiliumEndpointSlice" // CESName is the full name of Cilium Endpoint Slice CESName = CESPluralName + "." + CustomResourceDefinitionGroup // BGPPPluralName is the plural name of Cilium BGP Peering Policy BGPPPluralName = "ciliumbgppeeringpolicies" // BGPPKindDefinition is the kind name of Cilium BGP Peering Policy BGPPKindDefinition = "CiliumBGPPeeringPolicy" // BGPPName is the full name of Cilium BGP Peering Policy BGPPName = BGPPPluralName + "." + CustomResourceDefinitionGroup // BGPClusterConfig (BGPCC) BGPCCPluralName = "ciliumbgpclusterconfigs" BGPCCKindDefinition = "CiliumBGPClusterConfig" BGPCCName = BGPCCPluralName + "." + CustomResourceDefinitionGroup // BGPPeerConfig (BGPPC) BGPPCPluralName = "ciliumbgppeerconfigs" BGPPCKindDefinition = "CiliumBGPPeerConfig" BGPPCName = BGPPCPluralName + "." + CustomResourceDefinitionGroup // BGPAdvertisement (BGPA) BGPAPluralName = "ciliumbgpadvertisements" BGPAKindDefinition = "CiliumBGPAdvertisement" BGPAName = BGPAPluralName + "." + CustomResourceDefinitionGroup // BGPNodeConfig (BGPNC) BGPNCPluralName = "ciliumbgpnodeconfigs" BGPNCKindDefinition = "CiliumBGPNodeConfig" BGPNCName = BGPNCPluralName + "." + CustomResourceDefinitionGroup // BGPNodeConfigOverride (BGPNCO) BGPNCOPluralName = "ciliumbgpnodeconfigoverrides" BGPNCOKindDefinition = "CiliumBGPNodeConfigOverride" BGPNCOName = BGPNCOPluralName + "." + CustomResourceDefinitionGroup // PoolPluralName is the plural name of Cilium Load Balancer IP Pool PoolPluralName = "ciliumloadbalancerippools" // PoolKindDefinition is the kind name of Cilium Peering Policy PoolKindDefinition = "CiliumLoadBalancerIPPool" // LBIPPoolName is the full name of Cilium Load Balancer IP Pool LBIPPoolName = PoolPluralName + "." + CustomResourceDefinitionGroup // CNCPluralName is the plural name of Cilium Node Config CNCPluralName = "ciliumnodeconfigs" // CNCKindDefinition is the kind name of Cilium Node Config CNCKindDefinition = "CiliumNodeConfig" // CNCName is the full name of Cilium Node Config CNCName = CNCPluralName + "." + CustomResourceDefinitionGroup // CiliumCIDRGroup (CCG) CCGPluralName = "ciliumcidrgroups" CCGKindDefinition = "CiliumCIDRGroup" CCGName = CCGPluralName + "." + CustomResourceDefinitionGroup // L2AnnouncementSingularName is the singular name ofCilium L2 announcement policy L2AnnouncementSingularName = "ciliuml2announcementpolicy" // L2AnnouncementPluralName is the plural name of Cilium L2 announcement policy L2AnnouncementPluralName = "ciliuml2announcementpolicies" // L2AnnouncementKindDefinition is the kind name of Cilium L2 announcement policy L2AnnouncementKindDefinition = "CiliumL2AnnouncementPolicy" // L2AnnouncementName is the full name of Cilium L2 announcement policy L2AnnouncementName = L2AnnouncementPluralName + "." + CustomResourceDefinitionGroup // CiliumPodIPPool (CPIP) CPIPPluralName = "ciliumpodippools" CPIPKindDefinition = "CiliumPodIPPool" CPIPName = CPIPPluralName + "." + CustomResourceDefinitionGroup )
const L2AnnounceLoadBalancerClass = "io.cilium/l2-announcer"
L2AnnounceLoadBalancerClass defines the L2 Announcer load balancer class for Services.
Variables ¶
var ( // SchemeBuilder is needed by DeepCopy generator. SchemeBuilder runtime.SchemeBuilder // AddToScheme adds all types of this clientset into the given scheme. // This allows composition of clientsets, like in: // // import ( // "k8s.io/client-go/kubernetes" // clientsetscheme "k8s.io/client-go/kubernetes/scheme" // aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" // ) // // kclientset, _ := kubernetes.NewForConfig(c) // aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{ Group: CustomResourceDefinitionGroup, Version: CustomResourceDefinitionVersion, }
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AllowFirstLastIPType ¶ added in v1.15.0
type AllowFirstLastIPType string
+kubebuilder:validation:Enum=Yes;No
const ( AllowFirstLastIPNo AllowFirstLastIPType = "No" AllowFirstLastIPYes AllowFirstLastIPType = "Yes" )
type BGPAdvertisement ¶ added in v1.16.0
type BGPAdvertisement struct { // AdvertisementType defines type of advertisement which has to be advertised. // // +kubebuilder:validation:Required AdvertisementType BGPAdvertisementType `json:"advertisementType"` // Service defines configuration options for advertisementType service. // // +kubebuilder:validation:Optional Service *BGPServiceOptions `json:"service,omitempty"` // Selector is a label selector to select objects of the type specified by AdvertisementType. // If not specified, all objects of the type specified by AdvertisementType are selected for advertisement. // // +kubebuilder:validation:Optional Selector *slimv1.LabelSelector `json:"selector,omitempty"` // Attributes defines additional attributes to set to the advertised routes. // If not specified, no additional attributes are set. // // +kubebuilder:validation:Optional Attributes *BGPAttributes `json:"attributes,omitempty"` }
BGPAdvertisement defines which routes Cilium should advertise to BGP peers. Optionally, additional attributes can be set to the advertised routes.
func (*BGPAdvertisement) DeepCopy ¶ added in v1.16.0
func (in *BGPAdvertisement) DeepCopy() *BGPAdvertisement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAdvertisement.
func (*BGPAdvertisement) DeepCopyInto ¶ added in v1.16.0
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) DeepEqual ¶ added in v1.16.0
func (in *BGPAdvertisement) DeepEqual(other *BGPAdvertisement) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type BGPAdvertisementType ¶ added in v1.15.0
type BGPAdvertisementType string
BGPAdvertisementType defines type of advertisement.
Note list of supported advertisements is not exhaustive and can be extended in the future. Consumer of this API should be able to handle unknown values.
+kubebuilder:validation:Enum=PodCIDR;CiliumPodIPPool;Service
const ( // BGPPodCIDRAdvert when configured, Cilium will advertise pod CIDRs to BGP peers. BGPPodCIDRAdvert BGPAdvertisementType = "PodCIDR" // BGPCiliumPodIPPoolAdvert when configured, Cilium will advertise prefixes from CiliumPodIPPools to BGP peers. BGPCiliumPodIPPoolAdvert BGPAdvertisementType = "CiliumPodIPPool" // BGPServiceAdvert when configured, Cilium will advertise service related routes to BGP peers. // BGPServiceAdvert BGPAdvertisementType = "Service" )
type BGPAttributes ¶ added in v1.16.0
type BGPAttributes struct { // Communities sets the community attributes in the route. // If not specified, no community attribute is set. // // +kubebuilder:validation:Optional Communities *BGPCommunities `json:"communities,omitempty"` // LocalPreference sets the local preference attribute in the route. // If not specified, no local preference attribute is set. // // +kubebuilder:validation:Optional LocalPreference *int64 `json:"localPreference,omitempty"` }
BGPAttributes defines additional attributes to set to the advertised NLRIs.
func (*BGPAttributes) DeepCopy ¶ added in v1.16.0
func (in *BGPAttributes) DeepCopy() *BGPAttributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPAttributes.
func (*BGPAttributes) DeepCopyInto ¶ added in v1.16.0
func (in *BGPAttributes) DeepCopyInto(out *BGPAttributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPAttributes) DeepEqual ¶ added in v1.16.0
func (in *BGPAttributes) DeepEqual(other *BGPAttributes) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type BGPCommunities ¶ added in v1.15.0
type BGPCommunities struct { // Standard holds a list of "standard" 32-bit BGP Communities Attribute (RFC 1997) values defined as numeric values. // // +kubebuilder:validation:Optional Standard []BGPStandardCommunity `json:"standard,omitempty"` // WellKnown holds a list "standard" 32-bit BGP Communities Attribute (RFC 1997) values defined as // well-known string aliases to their numeric values. // // +kubebuilder:validation:Optional WellKnown []BGPWellKnownCommunity `json:"wellKnown,omitempty"` // Large holds a list of the BGP Large Communities Attribute (RFC 8092) values. // // +kubebuilder:validation:Optional Large []BGPLargeCommunity `json:"large,omitempty"` }
BGPCommunities holds community values of the supported BGP community path attributes.
func (*BGPCommunities) DeepCopy ¶ added in v1.15.0
func (in *BGPCommunities) DeepCopy() *BGPCommunities
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPCommunities.
func (*BGPCommunities) DeepCopyInto ¶ added in v1.15.0
func (in *BGPCommunities) DeepCopyInto(out *BGPCommunities)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPCommunities) DeepEqual ¶ added in v1.15.0
func (in *BGPCommunities) DeepEqual(other *BGPCommunities) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type BGPLargeCommunity ¶ added in v1.15.0
type BGPLargeCommunity string
BGPLargeCommunity type represents a value of the BGP Large Communities Attribute (RFC 8092), as three 4-byte decimal numbers separated by colons. +kubebuilder:validation:Pattern=`^([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5]):([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5]):([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5])$`
type BGPServiceAddressType ¶ added in v1.16.0
type BGPServiceAddressType string
BGPServiceAddressType defines type of service address to be advertised.
Note list of supported service addresses is not exhaustive and can be extended in the future. Consumer of this API should be able to handle unknown values.
+kubebuilder:validation:Enum=LoadBalancerIP;ClusterIP;ExternalIP
const ( // BGPLoadBalancerIPAddr when configured, Cilium will advertise load balancer services IPs to BGP peers. // The loadBalancerClass for a service must be nil or specify a class supported by Cilium, // e.g. "io.cilium/bgp-control-plane". // // Refer to the following document for additional details regarding load balancer // classes: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class BGPLoadBalancerIPAddr BGPServiceAddressType = "LoadBalancerIP" // BGPClusterIPAddr when configured, Cilium will advertise cluster IP prefix of a service to BGP peers. // Cluster IP for a service is defined here // https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip BGPClusterIPAddr BGPServiceAddressType = "ClusterIP" // BGPExternalIPAddr when configured, Cilium will advertise external IP prefix of a service to BGP peers. // External IP for a service is defined here // https://kubernetes.io/docs/concepts/services-networking/service/#external-ips BGPExternalIPAddr BGPServiceAddressType = "ExternalIP" )
type BGPServiceOptions ¶ added in v1.16.0
type BGPServiceOptions struct { // Addresses is a list of service address types which needs to be advertised via BGP. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 Addresses []BGPServiceAddressType `json:"addresses,omitempty"` }
BGPServiceOptions defines the configuration for Service advertisement type.
func (*BGPServiceOptions) DeepCopy ¶ added in v1.16.0
func (in *BGPServiceOptions) DeepCopy() *BGPServiceOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPServiceOptions.
func (*BGPServiceOptions) DeepCopyInto ¶ added in v1.16.0
func (in *BGPServiceOptions) DeepCopyInto(out *BGPServiceOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BGPServiceOptions) DeepEqual ¶ added in v1.16.0
func (in *BGPServiceOptions) DeepEqual(other *BGPServiceOptions) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type BGPStandardCommunity ¶ added in v1.15.0
type BGPStandardCommunity string
BGPStandardCommunity type represents a value of the "standard" 32-bit BGP Communities Attribute (RFC 1997) as a 4-byte decimal number or two 2-byte decimal numbers separated by a colon (<0-65535>:<0-65535>). For example, no-export community value is 65553:65281. +kubebuilder:validation:Pattern=`^([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[01][0-9]{2}|42949672[0-8][0-9]|429496729[0-5])$|^([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]):([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$`
type BGPWellKnownCommunity ¶ added in v1.16.0
type BGPWellKnownCommunity string
BGPWellKnownCommunity type represents a value of the "standard" 32-bit BGP Communities Attribute (RFC 1997) as a well-known string alias to its numeric value. Allowed values and their mapping to the numeric values:
internet = 0x00000000 (0:0) planned-shut = 0xffff0000 (65535:0) accept-own = 0xffff0001 (65535:1) route-filter-translated-v4 = 0xffff0002 (65535:2) route-filter-v4 = 0xffff0003 (65535:3) route-filter-translated-v6 = 0xffff0004 (65535:4) route-filter-v6 = 0xffff0005 (65535:5) llgr-stale = 0xffff0006 (65535:6) no-llgr = 0xffff0007 (65535:7) blackhole = 0xffff029a (65535:666) no-export = 0xffffff01 (65535:65281) no-advertise = 0xffffff02 (65535:65282) no-export-subconfed = 0xffffff03 (65535:65283) no-peer = 0xffffff04 (65535:65284)
+kubebuilder:validation:Enum=internet;planned-shut;accept-own;route-filter-translated-v4;route-filter-v4;route-filter-translated-v6;route-filter-v6;llgr-stale;no-llgr;blackhole;no-export;no-advertise;no-export-subconfed;no-peer
type CiliumBGPAdvertisement ¶ added in v1.15.0
type CiliumBGPAdvertisement struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` Spec CiliumBGPAdvertisementSpec `json:"spec"` }
CiliumBGPAdvertisement is the Schema for the ciliumbgpadvertisements API
func (*CiliumBGPAdvertisement) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPAdvertisement) DeepCopy() *CiliumBGPAdvertisement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPAdvertisement.
func (*CiliumBGPAdvertisement) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPAdvertisement) DeepCopyInto(out *CiliumBGPAdvertisement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPAdvertisement) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPAdvertisement) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumBGPAdvertisement) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPAdvertisement) DeepEqual(other *CiliumBGPAdvertisement) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPAdvertisementList ¶ added in v1.15.0
type CiliumBGPAdvertisementList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPAdvertisement. Items []CiliumBGPAdvertisement `json:"items"` }
CiliumBGPAdvertisementList contains a list of CiliumBGPAdvertisement
func (*CiliumBGPAdvertisementList) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPAdvertisementList) DeepCopy() *CiliumBGPAdvertisementList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPAdvertisementList.
func (*CiliumBGPAdvertisementList) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPAdvertisementList) DeepCopyInto(out *CiliumBGPAdvertisementList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPAdvertisementList) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPAdvertisementList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumBGPAdvertisementSpec ¶ added in v1.15.0
type CiliumBGPAdvertisementSpec struct { // Advertisements is a list of BGP advertisements. // // +kubebuilder:validation:Required Advertisements []BGPAdvertisement `json:"advertisements"` }
func (*CiliumBGPAdvertisementSpec) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPAdvertisementSpec) DeepCopy() *CiliumBGPAdvertisementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPAdvertisementSpec.
func (*CiliumBGPAdvertisementSpec) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPAdvertisementSpec) DeepCopyInto(out *CiliumBGPAdvertisementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPAdvertisementSpec) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPAdvertisementSpec) DeepEqual(other *CiliumBGPAdvertisementSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPClusterConfig ¶ added in v1.15.0
type CiliumBGPClusterConfig struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Spec defines the desired cluster configuration of the BGP control plane. Spec CiliumBGPClusterConfigSpec `json:"spec"` }
CiliumBGPClusterConfig is the Schema for the CiliumBGPClusterConfig API
func (*CiliumBGPClusterConfig) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPClusterConfig) DeepCopy() *CiliumBGPClusterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPClusterConfig.
func (*CiliumBGPClusterConfig) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPClusterConfig) DeepCopyInto(out *CiliumBGPClusterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPClusterConfig) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPClusterConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumBGPClusterConfig) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPClusterConfig) DeepEqual(other *CiliumBGPClusterConfig) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPClusterConfigList ¶ added in v1.15.0
type CiliumBGPClusterConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPClusterConfig. Items []CiliumBGPClusterConfig `json:"items"` }
CiliumBGPClusterConfigList is a list of CiliumBGPClusterConfig objects.
func (*CiliumBGPClusterConfigList) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPClusterConfigList) DeepCopy() *CiliumBGPClusterConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPClusterConfigList.
func (*CiliumBGPClusterConfigList) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPClusterConfigList) DeepCopyInto(out *CiliumBGPClusterConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPClusterConfigList) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPClusterConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumBGPClusterConfigSpec ¶ added in v1.15.0
type CiliumBGPClusterConfigSpec struct { // NodeSelector selects a group of nodes where this BGP Cluster // config applies. // If empty / nil this config applies to all nodes. // // +kubebuilder:validation:Optional NodeSelector *slimv1.LabelSelector `json:"nodeSelector,omitempty"` // A list of CiliumBGPInstance(s) which instructs // the BGP control plane how to instantiate virtual BGP routers. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // +listType=map // +listMapKey=name BGPInstances []CiliumBGPInstance `json:"bgpInstances"` }
func (*CiliumBGPClusterConfigSpec) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPClusterConfigSpec) DeepCopy() *CiliumBGPClusterConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPClusterConfigSpec.
func (*CiliumBGPClusterConfigSpec) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPClusterConfigSpec) DeepCopyInto(out *CiliumBGPClusterConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPClusterConfigSpec) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPClusterConfigSpec) DeepEqual(other *CiliumBGPClusterConfigSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPFamily ¶
type CiliumBGPFamily struct { // Afi is the Address Family Identifier (AFI) of the family. // // +kubebuilder:validation:Enum=ipv4;ipv6;l2vpn;ls;opaque // +kubebuilder:validation:Required Afi string `json:"afi"` // Safi is the Subsequent Address Family Identifier (SAFI) of the family. // // +kubebuilder:validation:Enum=unicast;multicast;mpls_label;encapsulation;vpls;evpn;ls;sr_policy;mup;mpls_vpn;mpls_vpn_multicast;route_target_constraints;flowspec_unicast;flowspec_vpn;key_value // +kubebuilder:validation:Required Safi string `json:"safi"` }
CiliumBGPFamily represents a AFI/SAFI address family pair.
func (*CiliumBGPFamily) DeepCopy ¶
func (in *CiliumBGPFamily) DeepCopy() *CiliumBGPFamily
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPFamily.
func (*CiliumBGPFamily) DeepCopyInto ¶
func (in *CiliumBGPFamily) DeepCopyInto(out *CiliumBGPFamily)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPFamily) DeepEqual ¶
func (in *CiliumBGPFamily) DeepEqual(other *CiliumBGPFamily) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPFamilyWithAdverts ¶ added in v1.15.0
type CiliumBGPFamilyWithAdverts struct { CiliumBGPFamily `json:",inline"` // Advertisements selects group of BGP Advertisement(s) to advertise for this family. // // If not specified, no advertisements are sent for this family. // // This field is ignored in CiliumBGPNeighbor which is used in CiliumBGPPeeringPolicy. // Use CiliumBGPPeeringPolicy advertisement options instead. // // +kubebuilder:validation:Optional Advertisements *slimv1.LabelSelector `json:"advertisements,omitempty"` }
CiliumBGPFamilyWithAdverts represents a AFI/SAFI address family pair along with reference to BGP Advertisements.
func (*CiliumBGPFamilyWithAdverts) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPFamilyWithAdverts) DeepCopy() *CiliumBGPFamilyWithAdverts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPFamilyWithAdverts.
func (*CiliumBGPFamilyWithAdverts) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPFamilyWithAdverts) DeepCopyInto(out *CiliumBGPFamilyWithAdverts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPFamilyWithAdverts) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPFamilyWithAdverts) DeepEqual(other *CiliumBGPFamilyWithAdverts) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPInstance ¶ added in v1.15.0
type CiliumBGPInstance struct { // Name is the name of the BGP instance. It is a unique identifier for the BGP instance // within the cluster configuration. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 Name string `json:"name"` // LocalASN is the ASN of this BGP instance. // Supports extended 32bit ASNs. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4294967295 LocalASN *int64 `json:"localASN,omitempty"` // Peers is a list of neighboring BGP peers for this virtual router // // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name Peers []CiliumBGPPeer `json:"peers,omitempty"` }
func (*CiliumBGPInstance) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPInstance) DeepCopy() *CiliumBGPInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPInstance.
func (*CiliumBGPInstance) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPInstance) DeepCopyInto(out *CiliumBGPInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPInstance) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPInstance) DeepEqual(other *CiliumBGPInstance) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNeighbor ¶
type CiliumBGPNeighbor struct { // PeerAddress is the IP address of the peer. // This must be in CIDR notation and use a /32 to express // a single host. // // +kubebuilder:validation:Required // +kubebuilder:validation:Format=cidr PeerAddress string `json:"peerAddress"` // PeerPort is the TCP port of the peer. 1-65535 is the range of // valid port numbers that can be specified. If unset, defaults to 179. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=179 PeerPort *int32 `json:"peerPort,omitempty"` // PeerASN is the ASN of the peer BGP router. // Supports extended 32bit ASNs // // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=4294967295 PeerASN int64 `json:"peerASN"` // AuthSecretRef is the name of the secret to use to fetch a TCP // authentication password for this peer. // +kubebuilder:validation:Optional AuthSecretRef *string `json:"authSecretRef,omitempty"` // EBGPMultihopTTL controls the multi-hop feature for eBGP peers. // Its value defines the Time To Live (TTL) value used in BGP packets sent to the neighbor. // The value 1 implies that eBGP multi-hop feature is disabled (only a single hop is allowed). // This field is ignored for iBGP peers. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=255 // +kubebuilder:default=1 EBGPMultihopTTL *int32 `json:"eBGPMultihopTTL,omitempty"` // ConnectRetryTimeSeconds defines the initial value for the BGP ConnectRetryTimer (RFC 4271, Section 8). // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=2147483647 // +kubebuilder:default=120 ConnectRetryTimeSeconds *int32 `json:"connectRetryTimeSeconds,omitempty"` // HoldTimeSeconds defines the initial value for the BGP HoldTimer (RFC 4271, Section 4.2). // Updating this value will cause a session reset. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=3 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=90 HoldTimeSeconds *int32 `json:"holdTimeSeconds,omitempty"` // KeepaliveTimeSeconds defines the initial value for the BGP KeepaliveTimer (RFC 4271, Section 8). // It can not be larger than HoldTimeSeconds. Updating this value will cause a session reset. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=30 KeepAliveTimeSeconds *int32 `json:"keepAliveTimeSeconds,omitempty"` // GracefulRestart defines graceful restart parameters which are negotiated // with this neighbor. If empty / nil, the graceful restart capability is disabled. // // +kubebuilder:validation:Optional GracefulRestart *CiliumBGPNeighborGracefulRestart `json:"gracefulRestart,omitempty"` // Families, if provided, defines a set of AFI/SAFIs the speaker will // negotiate with it's peer. // // If this slice is not provided the default families of IPv6 and IPv4 will // be provided. // // +kubebuilder:validation:Optional Families []CiliumBGPFamily `json:"families"` // AdvertisedPathAttributes can be used to apply additional path attributes // to selected routes when advertising them to the peer. // If empty / nil, no additional path attributes are advertised. // // +kubebuilder:validation:Optional AdvertisedPathAttributes []CiliumBGPPathAttributes `json:"advertisedPathAttributes,omitempty"` }
CiliumBGPNeighbor is a neighboring peer for use in a CiliumBGPVirtualRouter configuration.
func (*CiliumBGPNeighbor) DeepCopy ¶
func (in *CiliumBGPNeighbor) DeepCopy() *CiliumBGPNeighbor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNeighbor.
func (*CiliumBGPNeighbor) DeepCopyInto ¶
func (in *CiliumBGPNeighbor) DeepCopyInto(out *CiliumBGPNeighbor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNeighbor) DeepEqual ¶
func (in *CiliumBGPNeighbor) DeepEqual(other *CiliumBGPNeighbor) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*CiliumBGPNeighbor) SetDefaults ¶
func (n *CiliumBGPNeighbor) SetDefaults()
SetDefaults applies default values on the CiliumBGPNeighbor. This is normally done by kube-apiserver for fields with explicit static defaults, the main use of this method is to avoid the need for nil-checks in the controller code.
func (*CiliumBGPNeighbor) Validate ¶
func (n *CiliumBGPNeighbor) Validate() error
Validate validates CiliumBGPNeighbor's configuration constraints that can not be expressed using the kubebuilder validation markers.
type CiliumBGPNeighborGracefulRestart ¶
type CiliumBGPNeighborGracefulRestart struct { // Enabled flag, when set enables graceful restart capability. // // +kubebuilder:validation:Required Enabled bool `json:"enabled"` // RestartTimeSeconds is the estimated time it will take for the BGP // session to be re-established with peer after a restart. // After this period, peer will remove stale routes. This is // described RFC 4724 section 4.2. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4095 // +kubebuilder:default=120 RestartTimeSeconds *int32 `json:"restartTimeSeconds,omitempty"` }
func (*CiliumBGPNeighborGracefulRestart) DeepCopy ¶
func (in *CiliumBGPNeighborGracefulRestart) DeepCopy() *CiliumBGPNeighborGracefulRestart
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNeighborGracefulRestart.
func (*CiliumBGPNeighborGracefulRestart) DeepCopyInto ¶
func (in *CiliumBGPNeighborGracefulRestart) DeepCopyInto(out *CiliumBGPNeighborGracefulRestart)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNeighborGracefulRestart) DeepEqual ¶
func (in *CiliumBGPNeighborGracefulRestart) DeepEqual(other *CiliumBGPNeighborGracefulRestart) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*CiliumBGPNeighborGracefulRestart) SetDefaults ¶ added in v1.16.0
func (gr *CiliumBGPNeighborGracefulRestart) SetDefaults()
type CiliumBGPNodeConfig ¶ added in v1.15.0
type CiliumBGPNodeConfig struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Spec is the specification of the desired behavior of the CiliumBGPNodeConfig. Spec CiliumBGPNodeSpec `json:"spec"` // Status is the most recently observed status of the CiliumBGPNodeConfig. // +kubebuilder:validation:Optional Status CiliumBGPNodeStatus `json:"status"` }
CiliumBGPNodeConfig is node local configuration for BGP agent. Name of the object should be node name. This resource will be created by Cilium operator and is read-only for the users.
func (*CiliumBGPNodeConfig) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeConfig) DeepCopy() *CiliumBGPNodeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeConfig.
func (*CiliumBGPNodeConfig) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeConfig) DeepCopyInto(out *CiliumBGPNodeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeConfig) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPNodeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumBGPNodeConfig) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeConfig) DeepEqual(other *CiliumBGPNodeConfig) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeConfigInstanceOverride ¶ added in v1.15.0
type CiliumBGPNodeConfigInstanceOverride struct { // Name is the name of the BGP instance for which the configuration is overridden. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 Name string `json:"name"` // RouterID is BGP router id to use for this instance. It must be unique across all BGP instances. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=ipv4 RouterID *string `json:"routerID,omitempty"` // LocalPort is port to use for this BGP instance. // // +kubebuilder:validation:Optional LocalPort *int32 `json:"localPort,omitempty"` // Peers is a list of peer configurations to override. // // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name Peers []CiliumBGPNodeConfigPeerOverride `json:"peers,omitempty"` }
CiliumBGPNodeConfigInstanceOverride defines configuration options which can be overridden for a specific BGP instance.
func (*CiliumBGPNodeConfigInstanceOverride) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigInstanceOverride) DeepCopy() *CiliumBGPNodeConfigInstanceOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeConfigInstanceOverride.
func (*CiliumBGPNodeConfigInstanceOverride) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigInstanceOverride) DeepCopyInto(out *CiliumBGPNodeConfigInstanceOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeConfigInstanceOverride) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigInstanceOverride) DeepEqual(other *CiliumBGPNodeConfigInstanceOverride) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeConfigList ¶ added in v1.15.0
type CiliumBGPNodeConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPNodeConfig. Items []CiliumBGPNodeConfig `json:"items"` }
CiliumBGPNodeConfigList is a list of CiliumBGPNodeConfig objects.
func (*CiliumBGPNodeConfigList) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigList) DeepCopy() *CiliumBGPNodeConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeConfigList.
func (*CiliumBGPNodeConfigList) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigList) DeepCopyInto(out *CiliumBGPNodeConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeConfigList) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumBGPNodeConfigOverride ¶ added in v1.15.0
type CiliumBGPNodeConfigOverride struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Spec is the specification of the desired behavior of the CiliumBGPNodeConfigOverride. Spec CiliumBGPNodeConfigOverrideSpec `json:"spec"` }
CiliumBGPNodeConfigOverride specifies configuration overrides for a CiliumBGPNodeConfig. It allows fine-tuning of BGP behavior on a per-node basis. For the override to be effective, the names in CiliumBGPNodeConfigOverride and CiliumBGPNodeConfig must match exactly. This matching ensures that specific node configurations are applied correctly and only where intended.
func (*CiliumBGPNodeConfigOverride) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverride) DeepCopy() *CiliumBGPNodeConfigOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeConfigOverride.
func (*CiliumBGPNodeConfigOverride) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverride) DeepCopyInto(out *CiliumBGPNodeConfigOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeConfigOverride) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverride) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumBGPNodeConfigOverride) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverride) DeepEqual(other *CiliumBGPNodeConfigOverride) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeConfigOverrideList ¶ added in v1.15.0
type CiliumBGPNodeConfigOverrideList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPNodeConfigOverride. Items []CiliumBGPNodeConfigOverride `json:"items"` }
CiliumBGPNodeConfigOverrideList is a list of CiliumBGPNodeConfigOverride objects.
func (*CiliumBGPNodeConfigOverrideList) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverrideList) DeepCopy() *CiliumBGPNodeConfigOverrideList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeConfigOverrideList.
func (*CiliumBGPNodeConfigOverrideList) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverrideList) DeepCopyInto(out *CiliumBGPNodeConfigOverrideList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeConfigOverrideList) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverrideList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumBGPNodeConfigOverrideSpec ¶ added in v1.15.0
type CiliumBGPNodeConfigOverrideSpec struct { // BGPInstances is a list of BGP instances to override. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +listType=map // +listMapKey=name BGPInstances []CiliumBGPNodeConfigInstanceOverride `json:"bgpInstances"` }
func (*CiliumBGPNodeConfigOverrideSpec) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverrideSpec) DeepCopy() *CiliumBGPNodeConfigOverrideSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeConfigOverrideSpec.
func (*CiliumBGPNodeConfigOverrideSpec) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverrideSpec) DeepCopyInto(out *CiliumBGPNodeConfigOverrideSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeConfigOverrideSpec) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigOverrideSpec) DeepEqual(other *CiliumBGPNodeConfigOverrideSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeConfigPeerOverride ¶ added in v1.15.0
type CiliumBGPNodeConfigPeerOverride struct { // Name is the name of the peer for which the configuration is overridden. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 Name string `json:"name"` // LocalAddress is the IP address to use for connecting to this peer. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=`((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))` LocalAddress *string `json:"localAddress,omitempty"` // LocalPort is source port to use for connecting to this peer. // // +kubebuilder:validation:Optional LocalPort *int32 `json:"localPort,omitempty"` }
CiliumBGPNodeConfigPeerOverride defines configuration options which can be overridden for a specific peer.
func (*CiliumBGPNodeConfigPeerOverride) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigPeerOverride) DeepCopy() *CiliumBGPNodeConfigPeerOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeConfigPeerOverride.
func (*CiliumBGPNodeConfigPeerOverride) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigPeerOverride) DeepCopyInto(out *CiliumBGPNodeConfigPeerOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeConfigPeerOverride) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeConfigPeerOverride) DeepEqual(other *CiliumBGPNodeConfigPeerOverride) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeInstance ¶ added in v1.15.0
type CiliumBGPNodeInstance struct { // Name is the name of the BGP instance. This name is used to identify the BGP instance on the node. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 Name string `json:"name"` // LocalASN is the ASN of this virtual router. // Supports extended 32bit ASNs. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4294967295 LocalASN *int64 `json:"localASN,omitempty"` // RouterID is the BGP router ID of this virtual router. // This configuration is derived from CiliumBGPNodeConfigOverride resource. // // If not specified, the router ID will be derived from the node local address. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=ipv4 RouterID *string `json:"routerID,omitempty"` // LocalPort is the port on which the BGP daemon listens for incoming connections. // // If not specified, BGP instance will not listen for incoming connections. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 LocalPort *int32 `json:"localPort,omitempty"` // Peers is a list of neighboring BGP peers for this virtual router // // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name Peers []CiliumBGPNodePeer `json:"peers,omitempty"` }
CiliumBGPNodeInstance is a single BGP router instance configuration on the node.
func (*CiliumBGPNodeInstance) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeInstance) DeepCopy() *CiliumBGPNodeInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeInstance.
func (*CiliumBGPNodeInstance) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeInstance) DeepCopyInto(out *CiliumBGPNodeInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeInstance) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeInstance) DeepEqual(other *CiliumBGPNodeInstance) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeInstanceStatus ¶ added in v1.15.0
type CiliumBGPNodeInstanceStatus struct { // Name is the name of the BGP instance. This name is used to identify the BGP instance on the node. // // +kubebuilder:validation:Required Name string `json:"name"` // LocalASN is the ASN of this BGP instance. // // +kubebuilder:validation:Optional LocalASN *int64 `json:"localASN,omitempty"` // PeerStatuses is the state of the BGP peers for this BGP instance. // // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name PeerStatuses []CiliumBGPNodePeerStatus `json:"peers,omitempty"` }
func (*CiliumBGPNodeInstanceStatus) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeInstanceStatus) DeepCopy() *CiliumBGPNodeInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeInstanceStatus.
func (*CiliumBGPNodeInstanceStatus) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeInstanceStatus) DeepCopyInto(out *CiliumBGPNodeInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeInstanceStatus) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeInstanceStatus) DeepEqual(other *CiliumBGPNodeInstanceStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodePeer ¶ added in v1.15.0
type CiliumBGPNodePeer struct { // Name is the name of the BGP peer. This name is used to identify the BGP peer for the BGP instance. // // +kubebuilder:validation:Required Name string `json:"name"` // PeerAddress is the IP address of the neighbor. // Supports IPv4 and IPv6 addresses. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=`((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))` PeerAddress *string `json:"peerAddress,omitempty"` // PeerASN is the ASN of the peer BGP router. // Supports extended 32bit ASNs // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4294967295 PeerASN *int64 `json:"peerASN,omitempty"` // LocalAddress is the IP address of the local interface to use for the peering session. // This configuration is derived from CiliumBGPNodeConfigOverride resource. If not specified, the local address will be used for setting up peering. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=`((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))` LocalAddress *string `json:"localAddress,omitempty"` // PeerConfigRef is a reference to a peer configuration resource. // If not specified, the default BGP configuration is used for this peer. // // +kubebuilder:validation:Optional PeerConfigRef *PeerConfigReference `json:"peerConfigRef,omitempty"` }
func (*CiliumBGPNodePeer) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodePeer) DeepCopy() *CiliumBGPNodePeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodePeer.
func (*CiliumBGPNodePeer) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodePeer) DeepCopyInto(out *CiliumBGPNodePeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodePeer) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodePeer) DeepEqual(other *CiliumBGPNodePeer) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodePeerStatus ¶ added in v1.15.0
type CiliumBGPNodePeerStatus struct { // Name is the name of the BGP peer. // // +kubebuilder:validation:Required Name string `json:"name"` // PeerAddress is the IP address of the neighbor. // // +kubebuilder:validation:Required PeerAddress string `json:"peerAddress"` // PeerASN is the ASN of the neighbor. // // +kubebuilder:validation:Optional PeerASN *int64 `json:"peerASN,omitempty"` // PeeringState is last known state of the peering session. // // +kubebuilder:validation:Optional PeeringState *string `json:"peeringState,omitempty"` // Timers is the state of the negotiated BGP timers for this peer. // // +kubebuilder:validation:Optional Timers *CiliumBGPTimersState `json:"timers,omitempty"` // Uptime is the time since the last peering session was established. // // +kubebuilder:validation:Optional Uptime *string `json:"uptime,omitempty"` // RoutesReceived is the number of routes received from this peer. // // +kubebuilder:validation:Optional RoutesReceived *int32 `json:"routesReceived,omitempty"` // RoutesAdvertised is the number of routes advertised to this peer. // // +kubebuilder:validation:Optional RoutesAdvertised *int32 `json:"routesAdvertised,omitempty"` }
CiliumBGPNodePeerStatus is the status of a BGP peer.
func (*CiliumBGPNodePeerStatus) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodePeerStatus) DeepCopy() *CiliumBGPNodePeerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodePeerStatus.
func (*CiliumBGPNodePeerStatus) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodePeerStatus) DeepCopyInto(out *CiliumBGPNodePeerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodePeerStatus) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodePeerStatus) DeepEqual(other *CiliumBGPNodePeerStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeSpec ¶ added in v1.15.0
type CiliumBGPNodeSpec struct { // BGPInstances is a list of BGP router instances on the node. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // +listType=map // +listMapKey=name BGPInstances []CiliumBGPNodeInstance `json:"bgpInstances"` }
func (*CiliumBGPNodeSpec) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeSpec) DeepCopy() *CiliumBGPNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeSpec.
func (*CiliumBGPNodeSpec) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeSpec) DeepCopyInto(out *CiliumBGPNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeSpec) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeSpec) DeepEqual(other *CiliumBGPNodeSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPNodeStatus ¶ added in v1.15.0
type CiliumBGPNodeStatus struct { // BGPInstances is the status of the BGP instances on the node. // // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name BGPInstances []CiliumBGPNodeInstanceStatus `json:"bgpInstances,omitempty"` }
CiliumBGPNodeStatus is the status of the CiliumBGPNodeConfig.
func (*CiliumBGPNodeStatus) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPNodeStatus) DeepCopy() *CiliumBGPNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPNodeStatus.
func (*CiliumBGPNodeStatus) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPNodeStatus) DeepCopyInto(out *CiliumBGPNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPNodeStatus) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPNodeStatus) DeepEqual(other *CiliumBGPNodeStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPPathAttributes ¶ added in v1.15.0
type CiliumBGPPathAttributes struct { // SelectorType defines the object type on which the Selector applies: // - For "PodCIDR" the Selector matches k8s CiliumNode resources // (path attributes apply to routes announced for PodCIDRs of selected CiliumNodes. // Only affects routes of cluster scope / Kubernetes IPAM CIDRs, not Multi-Pool IPAM CIDRs. // - For "CiliumLoadBalancerIPPool" the Selector matches CiliumLoadBalancerIPPool custom resources // (path attributes apply to routes announced for selected CiliumLoadBalancerIPPools). // - For "CiliumPodIPPool" the Selector matches CiliumPodIPPool custom resources // (path attributes apply to routes announced for allocated CIDRs of selected CiliumPodIPPools). // // +kubebuilder:validation:Enum=PodCIDR;CiliumLoadBalancerIPPool;CiliumPodIPPool // +kubebuilder:validation:Required SelectorType string `json:"selectorType"` // Selector selects a group of objects of the SelectorType // resulting into routes that will be announced with the configured Attributes. // If nil / not set, all objects of the SelectorType are selected. // // +kubebuilder:validation:Optional Selector *slimv1.LabelSelector `json:"selector,omitempty"` // Communities defines a set of community values advertised in the supported BGP Communities path attributes. // If nil / not set, no BGP Communities path attribute will be advertised. // // +kubebuilder:validation:Optional Communities *BGPCommunities `json:"communities,omitempty"` // LocalPreference defines the preference value advertised in the BGP Local Preference path attribute. // As Local Preference is only valid for iBGP peers, this value will be ignored for eBGP peers // (no Local Preference path attribute will be advertised). // If nil / not set, the default Local Preference of 100 will be advertised in // the Local Preference path attribute for iBGP peers. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=4294967295 LocalPreference *int64 `json:"localPreference,omitempty"` }
CiliumBGPPathAttributes can be used to apply additional path attributes to matched routes when advertising them to a BGP peer.
func (*CiliumBGPPathAttributes) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPPathAttributes) DeepCopy() *CiliumBGPPathAttributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPathAttributes.
func (*CiliumBGPPathAttributes) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPPathAttributes) DeepCopyInto(out *CiliumBGPPathAttributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPathAttributes) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPPathAttributes) DeepEqual(other *CiliumBGPPathAttributes) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPPeer ¶ added in v1.15.0
type CiliumBGPPeer struct { // Name is the name of the BGP peer. It is a unique identifier for the peer within the BGP instance. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 Name string `json:"name"` // PeerAddress is the IP address of the neighbor. // Supports IPv4 and IPv6 addresses. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=`((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))` PeerAddress *string `json:"peerAddress,omitempty"` // PeerASN is the ASN of the peer BGP router. // Supports extended 32bit ASNs. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4294967295 PeerASN *int64 `json:"peerASN,omitempty"` // PeerConfigRef is a reference to a peer configuration resource. // If not specified, the default BGP configuration is used for this peer. // // +kubebuilder:validation:Optional PeerConfigRef *PeerConfigReference `json:"peerConfigRef,omitempty"` }
func (*CiliumBGPPeer) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPPeer) DeepCopy() *CiliumBGPPeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPeer.
func (*CiliumBGPPeer) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPPeer) DeepCopyInto(out *CiliumBGPPeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPeer) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPPeer) DeepEqual(other *CiliumBGPPeer) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPPeerConfig ¶ added in v1.15.0
type CiliumBGPPeerConfig struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Spec is the specification of the desired behavior of the CiliumBGPPeerConfig. Spec CiliumBGPPeerConfigSpec `json:"spec"` }
func (*CiliumBGPPeerConfig) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPPeerConfig) DeepCopy() *CiliumBGPPeerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPeerConfig.
func (*CiliumBGPPeerConfig) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPPeerConfig) DeepCopyInto(out *CiliumBGPPeerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPeerConfig) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPPeerConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumBGPPeerConfig) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPPeerConfig) DeepEqual(other *CiliumBGPPeerConfig) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPPeerConfigList ¶ added in v1.15.0
type CiliumBGPPeerConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPPeer. Items []CiliumBGPPeerConfig `json:"items"` }
CiliumBGPPeerConfigList is a list of CiliumBGPPeer objects.
func (*CiliumBGPPeerConfigList) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPPeerConfigList) DeepCopy() *CiliumBGPPeerConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPeerConfigList.
func (*CiliumBGPPeerConfigList) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPPeerConfigList) DeepCopyInto(out *CiliumBGPPeerConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPeerConfigList) DeepCopyObject ¶ added in v1.15.0
func (in *CiliumBGPPeerConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumBGPPeerConfigSpec ¶ added in v1.15.0
type CiliumBGPPeerConfigSpec struct { // Transport defines the BGP transport parameters for the peer. // // If not specified, the default transport parameters are used. // // +kubebuilder:validation:Optional Transport *CiliumBGPTransport `json:"transport,omitempty"` // Timers defines the BGP timers for the peer. // // If not specified, the default timers are used. // // +kubebuilder:validation:Optional Timers *CiliumBGPTimers `json:"timers,omitempty"` // AuthSecretRef is the name of the secret to use to fetch a TCP // authentication password for this peer. // // If not specified, no authentication is used. // // +kubebuilder:validation:Optional AuthSecretRef *string `json:"authSecretRef,omitempty"` // GracefulRestart defines graceful restart parameters which are negotiated // with this peer. // // If not specified, the graceful restart capability is disabled. // // +kubebuilder:validation:Optional GracefulRestart *CiliumBGPNeighborGracefulRestart `json:"gracefulRestart,omitempty"` // EBGPMultihopTTL controls the multi-hop feature for eBGP peers. // Its value defines the Time To Live (TTL) value used in BGP // packets sent to the peer. // // If not specified, EBGP multihop is disabled. This field is ignored for iBGP neighbors. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=255 // +kubebuilder:default=1 EBGPMultihop *int32 `json:"ebgpMultihop,omitempty"` // Families, if provided, defines a set of AFI/SAFIs the speaker will // negotiate with it's peer. // // If not specified, the default families of IPv6/unicast and IPv4/unicast will be created. // // +kubebuilder:validation:Optional Families []CiliumBGPFamilyWithAdverts `json:"families,omitempty"` }
func (*CiliumBGPPeerConfigSpec) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPPeerConfigSpec) DeepCopy() *CiliumBGPPeerConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPeerConfigSpec.
func (*CiliumBGPPeerConfigSpec) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPPeerConfigSpec) DeepCopyInto(out *CiliumBGPPeerConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPeerConfigSpec) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPPeerConfigSpec) DeepEqual(other *CiliumBGPPeerConfigSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*CiliumBGPPeerConfigSpec) SetDefaults ¶ added in v1.16.0
func (p *CiliumBGPPeerConfigSpec) SetDefaults()
type CiliumBGPPeeringPolicy ¶
type CiliumBGPPeeringPolicy struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Spec is a human readable description of a BGP peering policy // // +kubebuilder:validation:Optional Spec CiliumBGPPeeringPolicySpec `json:"spec,omitempty"` }
CiliumBGPPeeringPolicy is a Kubernetes third-party resource for instructing Cilium's BGP control plane to create virtual BGP routers.
func (*CiliumBGPPeeringPolicy) DeepCopy ¶
func (in *CiliumBGPPeeringPolicy) DeepCopy() *CiliumBGPPeeringPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPeeringPolicy.
func (*CiliumBGPPeeringPolicy) DeepCopyInto ¶
func (in *CiliumBGPPeeringPolicy) DeepCopyInto(out *CiliumBGPPeeringPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPeeringPolicy) DeepCopyObject ¶
func (in *CiliumBGPPeeringPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumBGPPeeringPolicy) DeepEqual ¶
func (in *CiliumBGPPeeringPolicy) DeepEqual(other *CiliumBGPPeeringPolicy) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*CiliumBGPPeeringPolicy) SetDefaults ¶
func (p *CiliumBGPPeeringPolicy) SetDefaults()
SetDefaults applies default values on the CiliumBGPPeeringPolicy. This is normally done by kube-apiserver for fields with explicit static defaults, the main use of this method is to avoid the need for nil-checks in the controller code.
type CiliumBGPPeeringPolicyList ¶
type CiliumBGPPeeringPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPPeeringPolicies. Items []CiliumBGPPeeringPolicy `json:"items"` }
CiliumBGPPeeringPolicyList is a list of CiliumBGPPeeringPolicy objects.
func (*CiliumBGPPeeringPolicyList) DeepCopy ¶
func (in *CiliumBGPPeeringPolicyList) DeepCopy() *CiliumBGPPeeringPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPeeringPolicyList.
func (*CiliumBGPPeeringPolicyList) DeepCopyInto ¶
func (in *CiliumBGPPeeringPolicyList) DeepCopyInto(out *CiliumBGPPeeringPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPeeringPolicyList) DeepCopyObject ¶
func (in *CiliumBGPPeeringPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumBGPPeeringPolicySpec ¶
type CiliumBGPPeeringPolicySpec struct { // NodeSelector selects a group of nodes where this BGP Peering // Policy applies. // // If empty / nil this policy applies to all nodes. // // +kubebuilder:validation:Optional NodeSelector *slimv1.LabelSelector `json:"nodeSelector,omitempty"` // A list of CiliumBGPVirtualRouter(s) which instructs // the BGP control plane how to instantiate virtual BGP routers. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 VirtualRouters []CiliumBGPVirtualRouter `json:"virtualRouters"` }
CiliumBGPPeeringPolicySpec specifies one or more CiliumBGPVirtualRouter(s) to apply to nodes matching it's label selector.
func (*CiliumBGPPeeringPolicySpec) DeepCopy ¶
func (in *CiliumBGPPeeringPolicySpec) DeepCopy() *CiliumBGPPeeringPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPPeeringPolicySpec.
func (*CiliumBGPPeeringPolicySpec) DeepCopyInto ¶
func (in *CiliumBGPPeeringPolicySpec) DeepCopyInto(out *CiliumBGPPeeringPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPPeeringPolicySpec) DeepEqual ¶
func (in *CiliumBGPPeeringPolicySpec) DeepEqual(other *CiliumBGPPeeringPolicySpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPTimers ¶ added in v1.15.0
type CiliumBGPTimers struct { // ConnectRetryTimeSeconds defines the initial value for the BGP ConnectRetryTimer (RFC 4271, Section 8). // // If not specified, defaults to 120 seconds. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=2147483647 // +kubebuilder:default=120 ConnectRetryTimeSeconds *int32 `json:"connectRetryTimeSeconds,omitempty"` // HoldTimeSeconds defines the initial value for the BGP HoldTimer (RFC 4271, Section 4.2). // Updating this value will cause a session reset. // // If not specified, defaults to 90 seconds. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=3 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=90 HoldTimeSeconds *int32 `json:"holdTimeSeconds,omitempty"` // KeepaliveTimeSeconds defines the initial value for the BGP KeepaliveTimer (RFC 4271, Section 8). // It can not be larger than HoldTimeSeconds. Updating this value will cause a session reset. // // If not specified, defaults to 30 seconds. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=30 KeepAliveTimeSeconds *int32 `json:"keepAliveTimeSeconds,omitempty"` }
func (*CiliumBGPTimers) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPTimers) DeepCopy() *CiliumBGPTimers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPTimers.
func (*CiliumBGPTimers) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPTimers) DeepCopyInto(out *CiliumBGPTimers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPTimers) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPTimers) DeepEqual(other *CiliumBGPTimers) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*CiliumBGPTimers) SetDefaults ¶ added in v1.16.0
func (t *CiliumBGPTimers) SetDefaults()
type CiliumBGPTimersState ¶ added in v1.15.0
type CiliumBGPTimersState struct { // AppliedHoldTimeSeconds is the negotiated hold time for this peer. // // +kubebuilder:validation:Optional AppliedHoldTimeSeconds *int32 `json:"appliedHoldTimeSeconds,omitempty"` // AppliedKeepaliveSeconds is the negotiated keepalive time for this peer. // // +kubebuilder:validation:Optional AppliedKeepaliveSeconds *int32 `json:"appliedKeepaliveSeconds,omitempty"` }
CiliumBGPTimersState is the state of the negotiated BGP timers for a peer.
func (*CiliumBGPTimersState) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPTimersState) DeepCopy() *CiliumBGPTimersState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPTimersState.
func (*CiliumBGPTimersState) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPTimersState) DeepCopyInto(out *CiliumBGPTimersState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPTimersState) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPTimersState) DeepEqual(other *CiliumBGPTimersState) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPTransport ¶ added in v1.15.0
type CiliumBGPTransport struct { // LocalPort is the local port to be used for the BGP session. // // If not specified, defaults to TCP port 179. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=179 LocalPort *int32 `json:"localPort,omitempty"` // PeerPort is the peer port to be used for the BGP session. // // If not specified, defaults to TCP port 179. // // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=179 PeerPort *int32 `json:"peerPort,omitempty"` }
CiliumBGPTransport defines the BGP transport parameters for the peer.
func (*CiliumBGPTransport) DeepCopy ¶ added in v1.15.0
func (in *CiliumBGPTransport) DeepCopy() *CiliumBGPTransport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPTransport.
func (*CiliumBGPTransport) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumBGPTransport) DeepCopyInto(out *CiliumBGPTransport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPTransport) DeepEqual ¶ added in v1.15.0
func (in *CiliumBGPTransport) DeepEqual(other *CiliumBGPTransport) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*CiliumBGPTransport) SetDefaults ¶ added in v1.16.0
func (t *CiliumBGPTransport) SetDefaults()
type CiliumBGPVirtualRouter ¶
type CiliumBGPVirtualRouter struct { // LocalASN is the ASN of this virtual router. // Supports extended 32bit ASNs // // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=4294967295 LocalASN int64 `json:"localASN"` // ExportPodCIDR determines whether to export the Node's private CIDR block // to the configured neighbors. // // +kubebuilder:validation:Optional // +kubebuilder:default=false ExportPodCIDR *bool `json:"exportPodCIDR,omitempty"` // PodIPPoolSelector selects CiliumPodIPPools based on labels. The virtual // router will announce allocated CIDRs of matching CiliumPodIPPools. // // If empty / nil no CiliumPodIPPools will be announced. // // +kubebuilder:validation:Optional PodIPPoolSelector *slimv1.LabelSelector `json:"podIPPoolSelector,omitempty"` // ServiceSelector selects a group of load balancer services which this // virtual router will announce. The loadBalancerClass for a service must // be nil or specify a class supported by Cilium, e.g. "io.cilium/bgp-control-plane". // Refer to the following document for additional details regarding load balancer // classes: // // https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class // // If empty / nil no services will be announced. // // +kubebuilder:validation:Optional ServiceSelector *slimv1.LabelSelector `json:"serviceSelector,omitempty"` // ServiceAdvertisements selects a group of BGP Advertisement(s) to advertise // for the selected services. // // +kubebuilder:validation:Optional // +kubebuilder:default={LoadBalancerIP} ServiceAdvertisements []BGPServiceAddressType `json:"serviceAdvertisements,omitempty"` // Neighbors is a list of neighboring BGP peers for this virtual router // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 Neighbors []CiliumBGPNeighbor `json:"neighbors"` }
CiliumBGPVirtualRouter defines a discrete BGP virtual router configuration.
func (*CiliumBGPVirtualRouter) DeepCopy ¶
func (in *CiliumBGPVirtualRouter) DeepCopy() *CiliumBGPVirtualRouter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPVirtualRouter.
func (*CiliumBGPVirtualRouter) DeepCopyInto ¶
func (in *CiliumBGPVirtualRouter) DeepCopyInto(out *CiliumBGPVirtualRouter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPVirtualRouter) DeepEqual ¶
func (in *CiliumBGPVirtualRouter) DeepEqual(other *CiliumBGPVirtualRouter) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*CiliumBGPVirtualRouter) SetDefaults ¶
func (r *CiliumBGPVirtualRouter) SetDefaults()
SetDefaults applies default values on the CiliumBGPVirtualRouter. This is normally done by kube-apiserver for fields with explicit static defaults, the main use of this method is to avoid the need for nil-checks in the controller code.
type CiliumCIDRGroup ¶
type CiliumCIDRGroup struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Required Spec CiliumCIDRGroupSpec `json:"spec"` }
CiliumCIDRGroup is a list of external CIDRs (i.e: CIDRs selecting peers outside the clusters) that can be referenced as a single entity from CiliumNetworkPolicies.
func (*CiliumCIDRGroup) DeepCopy ¶
func (in *CiliumCIDRGroup) DeepCopy() *CiliumCIDRGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumCIDRGroup.
func (*CiliumCIDRGroup) DeepCopyInto ¶
func (in *CiliumCIDRGroup) DeepCopyInto(out *CiliumCIDRGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumCIDRGroup) DeepCopyObject ¶
func (in *CiliumCIDRGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumCIDRGroupList ¶
type CiliumCIDRGroupList struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ListMeta `json:"metadata,omitempty"` Items []CiliumCIDRGroup `json:"items"` }
func (*CiliumCIDRGroupList) DeepCopy ¶
func (in *CiliumCIDRGroupList) DeepCopy() *CiliumCIDRGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumCIDRGroupList.
func (*CiliumCIDRGroupList) DeepCopyInto ¶
func (in *CiliumCIDRGroupList) DeepCopyInto(out *CiliumCIDRGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumCIDRGroupList) DeepCopyObject ¶
func (in *CiliumCIDRGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumCIDRGroupSpec ¶
type CiliumCIDRGroupSpec struct { // ExternalCIDRs is a list of CIDRs selecting peers outside the clusters. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=0 ExternalCIDRs []api.CIDR `json:"externalCIDRs"` }
func (*CiliumCIDRGroupSpec) DeepCopy ¶
func (in *CiliumCIDRGroupSpec) DeepCopy() *CiliumCIDRGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumCIDRGroupSpec.
func (*CiliumCIDRGroupSpec) DeepCopyInto ¶
func (in *CiliumCIDRGroupSpec) DeepCopyInto(out *CiliumCIDRGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumCIDRGroupSpec) DeepEqual ¶
func (in *CiliumCIDRGroupSpec) DeepEqual(other *CiliumCIDRGroupSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumEndpointSlice ¶
type CiliumEndpointSlice struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Namespace indicate as CiliumEndpointSlice namespace. // All the CiliumEndpoints within the same namespace are put together // in CiliumEndpointSlice. Namespace string `json:"namespace,omitempty"` // Endpoints is a list of coreCEPs packed in a CiliumEndpointSlice Endpoints []CoreCiliumEndpoint `json:"endpoints"` }
CiliumEndpointSlice contains a group of CoreCiliumendpoints.
func (*CiliumEndpointSlice) DeepCopy ¶
func (in *CiliumEndpointSlice) DeepCopy() *CiliumEndpointSlice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEndpointSlice.
func (*CiliumEndpointSlice) DeepCopyInto ¶
func (in *CiliumEndpointSlice) DeepCopyInto(out *CiliumEndpointSlice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEndpointSlice) DeepCopyObject ¶
func (in *CiliumEndpointSlice) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumEndpointSlice) DeepEqual ¶
func (in *CiliumEndpointSlice) DeepEqual(other *CiliumEndpointSlice) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumEndpointSliceList ¶
type CiliumEndpointSliceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumEndpointSlice. Items []CiliumEndpointSlice `json:"items"` }
CiliumEndpointSliceList is a list of CiliumEndpointSlice objects.
func (*CiliumEndpointSliceList) DeepCopy ¶
func (in *CiliumEndpointSliceList) DeepCopy() *CiliumEndpointSliceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEndpointSliceList.
func (*CiliumEndpointSliceList) DeepCopyInto ¶
func (in *CiliumEndpointSliceList) DeepCopyInto(out *CiliumEndpointSliceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEndpointSliceList) DeepCopyObject ¶
func (in *CiliumEndpointSliceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumL2AnnouncementPolicy ¶
type CiliumL2AnnouncementPolicy struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Spec is a human readable description of a L2 announcement policy // // +kubebuilder:validation:Optional Spec CiliumL2AnnouncementPolicySpec `json:"spec,omitempty"` // Status is the status of the policy. // // +deepequal-gen=false // +kubebuilder:validation:Optional Status CiliumL2AnnouncementPolicyStatus `json:"status"` }
CiliumL2AnnouncementPolicy is a Kubernetes third-party resource which is used to defined which nodes should announce what services on the L2 network.
func (*CiliumL2AnnouncementPolicy) DeepCopy ¶
func (in *CiliumL2AnnouncementPolicy) DeepCopy() *CiliumL2AnnouncementPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumL2AnnouncementPolicy.
func (*CiliumL2AnnouncementPolicy) DeepCopyInto ¶
func (in *CiliumL2AnnouncementPolicy) DeepCopyInto(out *CiliumL2AnnouncementPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumL2AnnouncementPolicy) DeepCopyObject ¶
func (in *CiliumL2AnnouncementPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumL2AnnouncementPolicy) DeepEqual ¶
func (in *CiliumL2AnnouncementPolicy) DeepEqual(other *CiliumL2AnnouncementPolicy) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumL2AnnouncementPolicyList ¶
type CiliumL2AnnouncementPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumL2AnnouncementPolicies. Items []CiliumL2AnnouncementPolicy `json:"items"` }
CiliumL2AnnouncementPolicyList is a list of CiliumL2AnnouncementPolicy objects.
func (*CiliumL2AnnouncementPolicyList) DeepCopy ¶
func (in *CiliumL2AnnouncementPolicyList) DeepCopy() *CiliumL2AnnouncementPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumL2AnnouncementPolicyList.
func (*CiliumL2AnnouncementPolicyList) DeepCopyInto ¶
func (in *CiliumL2AnnouncementPolicyList) DeepCopyInto(out *CiliumL2AnnouncementPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumL2AnnouncementPolicyList) DeepCopyObject ¶
func (in *CiliumL2AnnouncementPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumL2AnnouncementPolicySpec ¶
type CiliumL2AnnouncementPolicySpec struct { // NodeSelector selects a group of nodes which will announce the IPs for // the services selected by the service selector. // // If nil this policy applies to all nodes. // // +kubebuilder:validation:Optional NodeSelector *slimv1.LabelSelector `json:"nodeSelector"` // ServiceSelector selects a set of services which will be announced over L2 networks. // The loadBalancerClass for a service must be nil or specify a supported class, e.g. // "io.cilium/l2-announcer". Refer to the following document for additional details // regarding load balancer classes: // // https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class // // If nil this policy applies to all services. // // +kubebuilder:validation:Optional ServiceSelector *slimv1.LabelSelector `json:"serviceSelector"` // If true, the loadbalancer IPs of the services are announced // // If nil this policy applies to all services. // // +kubebuilder:validation:Optional LoadBalancerIPs bool `json:"loadBalancerIPs"` // If true, the external IPs of the services are announced // // +kubebuilder:validation:Optional ExternalIPs bool `json:"externalIPs"` // A list of regular expressions that express which network interface(s) should be used // to announce the services over. If nil, all network interfaces are used. // // +kubebuilder:validation:Optional Interfaces []string `json:"interfaces"` }
CiliumL2AnnouncementPolicySpec specifies which nodes should announce what services to the L2 networks attached to the given list of interfaces.
func (*CiliumL2AnnouncementPolicySpec) DeepCopy ¶
func (in *CiliumL2AnnouncementPolicySpec) DeepCopy() *CiliumL2AnnouncementPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumL2AnnouncementPolicySpec.
func (*CiliumL2AnnouncementPolicySpec) DeepCopyInto ¶
func (in *CiliumL2AnnouncementPolicySpec) DeepCopyInto(out *CiliumL2AnnouncementPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumL2AnnouncementPolicySpec) DeepEqual ¶
func (in *CiliumL2AnnouncementPolicySpec) DeepEqual(other *CiliumL2AnnouncementPolicySpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumL2AnnouncementPolicyStatus ¶
type CiliumL2AnnouncementPolicyStatus struct { // Current service state // +optional // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
CiliumL2AnnouncementPolicyStatus contains the status of a CiliumL2AnnouncementPolicy.
func (*CiliumL2AnnouncementPolicyStatus) DeepCopy ¶
func (in *CiliumL2AnnouncementPolicyStatus) DeepCopy() *CiliumL2AnnouncementPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumL2AnnouncementPolicyStatus.
func (*CiliumL2AnnouncementPolicyStatus) DeepCopyInto ¶
func (in *CiliumL2AnnouncementPolicyStatus) DeepCopyInto(out *CiliumL2AnnouncementPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CiliumLoadBalancerIPPool ¶
type CiliumLoadBalancerIPPool struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // Spec is a human readable description for a BGP load balancer // ip pool. // // +kubebuilder:validation:Required Spec CiliumLoadBalancerIPPoolSpec `json:"spec,omitempty"` // Status is the status of the IP Pool. // // It might be possible for users to define overlapping IP Pools, we can't validate or enforce non-overlapping pools // during object creation. The Cilium operator will do this validation and update the status to reflect the ability // to allocate IPs from this pool. // // +deepequal-gen=false // +kubebuilder:validation:Optional Status CiliumLoadBalancerIPPoolStatus `json:"status"` }
CiliumLoadBalancerIPPool is a Kubernetes third-party resource which is used to defined pools of IPs which the operator can use to to allocate and advertise IPs for Services of type LoadBalancer.
func (*CiliumLoadBalancerIPPool) DeepCopy ¶
func (in *CiliumLoadBalancerIPPool) DeepCopy() *CiliumLoadBalancerIPPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumLoadBalancerIPPool.
func (*CiliumLoadBalancerIPPool) DeepCopyInto ¶
func (in *CiliumLoadBalancerIPPool) DeepCopyInto(out *CiliumLoadBalancerIPPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumLoadBalancerIPPool) DeepCopyObject ¶
func (in *CiliumLoadBalancerIPPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumLoadBalancerIPPool) DeepEqual ¶
func (in *CiliumLoadBalancerIPPool) DeepEqual(other *CiliumLoadBalancerIPPool) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumLoadBalancerIPPoolIPBlock ¶ added in v1.15.0
type CiliumLoadBalancerIPPoolIPBlock struct { // +kubebuilder:validation:Format=cidr // +kubebuilder:validation:Optional Cidr IPv4orIPv6CIDR `json:"cidr"` // +kubebuilder:validation:Optional Start string `json:"start,omitempty"` // +kubebuilder:validation:Optional Stop string `json:"stop,omitempty"` }
CiliumLoadBalancerIPPoolIPBlock describes a single IP block.
func (*CiliumLoadBalancerIPPoolIPBlock) DeepCopy ¶ added in v1.15.0
func (in *CiliumLoadBalancerIPPoolIPBlock) DeepCopy() *CiliumLoadBalancerIPPoolIPBlock
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumLoadBalancerIPPoolIPBlock.
func (*CiliumLoadBalancerIPPoolIPBlock) DeepCopyInto ¶ added in v1.15.0
func (in *CiliumLoadBalancerIPPoolIPBlock) DeepCopyInto(out *CiliumLoadBalancerIPPoolIPBlock)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumLoadBalancerIPPoolIPBlock) DeepEqual ¶ added in v1.15.0
func (in *CiliumLoadBalancerIPPoolIPBlock) DeepEqual(other *CiliumLoadBalancerIPPoolIPBlock) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumLoadBalancerIPPoolList ¶
type CiliumLoadBalancerIPPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPLoadBalancerIPPools. Items []CiliumLoadBalancerIPPool `json:"items"` }
CiliumLoadBalancerIPPoolList is a list of CiliumLoadBalancerIPPool objects.
func (*CiliumLoadBalancerIPPoolList) DeepCopy ¶
func (in *CiliumLoadBalancerIPPoolList) DeepCopy() *CiliumLoadBalancerIPPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumLoadBalancerIPPoolList.
func (*CiliumLoadBalancerIPPoolList) DeepCopyInto ¶
func (in *CiliumLoadBalancerIPPoolList) DeepCopyInto(out *CiliumLoadBalancerIPPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumLoadBalancerIPPoolList) DeepCopyObject ¶
func (in *CiliumLoadBalancerIPPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumLoadBalancerIPPoolSpec ¶
type CiliumLoadBalancerIPPoolSpec struct { // ServiceSelector selects a set of services which are eligible to receive IPs from this // // +kubebuilder:validation:Optional ServiceSelector *slimv1.LabelSelector `json:"serviceSelector"` // AllowFirstLastIPs, if set to `yes` means that the first and last IPs of each CIDR will be allocatable. // If `no` or undefined, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since // reserving the first and last IPs would make the CIDRs unusable. // // +kubebuilder:validation:Optional AllowFirstLastIPs AllowFirstLastIPType `json:"allowFirstLastIPs,omitempty"` // Cidrs is a list of CIDRs comprising this IP Pool // Deprecated: please use the `blocks` field instead. This field will be removed in a future release. // https://github.com/cilium/cilium/issues/28590 // // +kubebuilder:validation:Optional Cidrs []CiliumLoadBalancerIPPoolIPBlock `json:"cidrs,omitempty"` // Blocks is a list of CIDRs comprising this IP Pool // // +kubebuilder:validation:Optional Blocks []CiliumLoadBalancerIPPoolIPBlock `json:"blocks,omitempty"` // Disabled, if set to true means that no new IPs will be allocated from this pool. // Existing allocations will not be removed from services. // // +kubebuilder:validation:Optional // +kubebuilder:default=false Disabled bool `json:"disabled"` }
CiliumLoadBalancerIPPoolSpec is a human readable description for a load balancer IP pool.
func (*CiliumLoadBalancerIPPoolSpec) DeepCopy ¶
func (in *CiliumLoadBalancerIPPoolSpec) DeepCopy() *CiliumLoadBalancerIPPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumLoadBalancerIPPoolSpec.
func (*CiliumLoadBalancerIPPoolSpec) DeepCopyInto ¶
func (in *CiliumLoadBalancerIPPoolSpec) DeepCopyInto(out *CiliumLoadBalancerIPPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumLoadBalancerIPPoolSpec) DeepEqual ¶
func (in *CiliumLoadBalancerIPPoolSpec) DeepEqual(other *CiliumLoadBalancerIPPoolSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumLoadBalancerIPPoolStatus ¶
type CiliumLoadBalancerIPPoolStatus struct { // Current service state // +optional // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
CiliumLoadBalancerIPPoolStatus contains the status of a CiliumLoadBalancerIPPool.
func (*CiliumLoadBalancerIPPoolStatus) DeepCopy ¶
func (in *CiliumLoadBalancerIPPoolStatus) DeepCopy() *CiliumLoadBalancerIPPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumLoadBalancerIPPoolStatus.
func (*CiliumLoadBalancerIPPoolStatus) DeepCopyInto ¶
func (in *CiliumLoadBalancerIPPoolStatus) DeepCopyInto(out *CiliumLoadBalancerIPPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CiliumNodeConfig ¶
type CiliumNodeConfig struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the desired Cilium configuration overrides for a given node Spec CiliumNodeConfigSpec `json:"spec"` }
CiliumNodeConfig is a list of configuration key-value pairs. It is applied to nodes indicated by a label selector.
If multiple overrides apply to the same node, they will be ordered by name with later Overrides overwriting any conflicting keys.
func (*CiliumNodeConfig) DeepCopy ¶
func (in *CiliumNodeConfig) DeepCopy() *CiliumNodeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumNodeConfig.
func (*CiliumNodeConfig) DeepCopyInto ¶
func (in *CiliumNodeConfig) DeepCopyInto(out *CiliumNodeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumNodeConfig) DeepCopyObject ¶
func (in *CiliumNodeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumNodeConfigList ¶
type CiliumNodeConfigList struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ListMeta `json:"metadata,omitempty"` Items []CiliumNodeConfig `json:"items"` }
func (*CiliumNodeConfigList) DeepCopy ¶
func (in *CiliumNodeConfigList) DeepCopy() *CiliumNodeConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumNodeConfigList.
func (*CiliumNodeConfigList) DeepCopyInto ¶
func (in *CiliumNodeConfigList) DeepCopyInto(out *CiliumNodeConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumNodeConfigList) DeepCopyObject ¶
func (in *CiliumNodeConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumNodeConfigSpec ¶
type CiliumNodeConfigSpec struct { // Defaults is treated the same as the cilium-config ConfigMap - a set // of key-value pairs parsed by the agent and operator processes. // Each key must be a valid config-map data field (i.e. a-z, A-Z, -, _, and .) Defaults map[string]string `json:"defaults"` // NodeSelector is a label selector that determines to which nodes // this configuration applies. // If not supplied, then this config applies to no nodes. If // empty, then it applies to all nodes. NodeSelector *metav1.LabelSelector `json:"nodeSelector"` }
+deepequal-gen=false
func (*CiliumNodeConfigSpec) DeepCopy ¶
func (in *CiliumNodeConfigSpec) DeepCopy() *CiliumNodeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumNodeConfigSpec.
func (*CiliumNodeConfigSpec) DeepCopyInto ¶
func (in *CiliumNodeConfigSpec) DeepCopyInto(out *CiliumNodeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CiliumPodIPPool ¶
type CiliumPodIPPool struct { // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +deepequal-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Required Spec IPPoolSpec `json:"spec"` }
CiliumPodIPPool defines an IP pool that can be used for pooled IPAM (i.e. the multi-pool IPAM mode).
func (*CiliumPodIPPool) DeepCopy ¶
func (in *CiliumPodIPPool) DeepCopy() *CiliumPodIPPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumPodIPPool.
func (*CiliumPodIPPool) DeepCopyInto ¶
func (in *CiliumPodIPPool) DeepCopyInto(out *CiliumPodIPPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumPodIPPool) DeepCopyObject ¶
func (in *CiliumPodIPPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumPodIPPool) DeepEqual ¶
func (in *CiliumPodIPPool) DeepEqual(other *CiliumPodIPPool) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumPodIPPoolList ¶
type CiliumPodIPPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of CiliumPodIPPools. Items []CiliumPodIPPool `json:"items"` }
CiliumPodIPPoolList is a list of CiliumPodIPPool objects.
func (*CiliumPodIPPoolList) DeepCopy ¶
func (in *CiliumPodIPPoolList) DeepCopy() *CiliumPodIPPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumPodIPPoolList.
func (*CiliumPodIPPoolList) DeepCopyInto ¶
func (in *CiliumPodIPPoolList) DeepCopyInto(out *CiliumPodIPPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumPodIPPoolList) DeepCopyObject ¶
func (in *CiliumPodIPPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CoreCiliumEndpoint ¶
type CoreCiliumEndpoint struct { // Name indicate as CiliumEndpoint name. Name string `json:"name,omitempty"` // IdentityID is the numeric identity of the endpoint IdentityID int64 `json:"id,omitempty"` // +kubebuilder:validation:Optional Networking *cilium_v2.EndpointNetworking `json:"networking,omitempty"` // +kubebuilder:validation:Optional Encryption cilium_v2.EncryptionSpec `json:"encryption,omitempty"` NamedPorts models.NamedPorts `json:"named-ports,omitempty"` }
CoreCiliumEndpoint is slim version of status of CiliumEndpoint.
func (*CoreCiliumEndpoint) DeepCopy ¶
func (in *CoreCiliumEndpoint) DeepCopy() *CoreCiliumEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreCiliumEndpoint.
func (*CoreCiliumEndpoint) DeepCopyInto ¶
func (in *CoreCiliumEndpoint) DeepCopyInto(out *CoreCiliumEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CoreCiliumEndpoint) DeepEqual ¶
func (in *CoreCiliumEndpoint) DeepEqual(other *CoreCiliumEndpoint) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type EgressRule ¶
type EgressRule struct { // Selects Namespaces using cluster-scoped labels. This field follows standard label // selector semantics; if present but empty, it selects all namespaces. NamespaceSelector *slimv1.LabelSelector `json:"namespaceSelector,omitempty"` // This is a label selector which selects Pods. This field follows standard label // selector semantics; if present but empty, it selects all pods. PodSelector *slimv1.LabelSelector `json:"podSelector,omitempty"` }
func (*EgressRule) DeepCopy ¶
func (in *EgressRule) DeepCopy() *EgressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRule.
func (*EgressRule) DeepCopyInto ¶
func (in *EgressRule) DeepCopyInto(out *EgressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressRule) DeepEqual ¶
func (in *EgressRule) DeepEqual(other *EgressRule) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type IPPoolSpec ¶
type IPPoolSpec struct { // IPv4 specifies the IPv4 CIDRs and mask sizes of the pool // // +kubebuilder:validation:Optional IPv4 *IPv4PoolSpec `json:"ipv4"` // IPv6 specifies the IPv6 CIDRs and mask sizes of the pool // // +kubebuilder:validation:Optional IPv6 *IPv6PoolSpec `json:"ipv6"` }
func (*IPPoolSpec) DeepCopy ¶
func (in *IPPoolSpec) DeepCopy() *IPPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPoolSpec.
func (*IPPoolSpec) DeepCopyInto ¶
func (in *IPPoolSpec) DeepCopyInto(out *IPPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPPoolSpec) DeepEqual ¶
func (in *IPPoolSpec) DeepEqual(other *IPPoolSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type IPv4PoolSpec ¶
type IPv4PoolSpec struct { // CIDRs is a list of IPv4 CIDRs that are part of the pool. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 CIDRs []PoolCIDR `json:"cidrs"` // MaskSize is the mask size of the pool. // // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=32 // +kubebuilder:validation:ExclusiveMaximum=false MaskSize uint8 `json:"maskSize"` }
func (*IPv4PoolSpec) DeepCopy ¶
func (in *IPv4PoolSpec) DeepCopy() *IPv4PoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPv4PoolSpec.
func (*IPv4PoolSpec) DeepCopyInto ¶
func (in *IPv4PoolSpec) DeepCopyInto(out *IPv4PoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPv4PoolSpec) DeepEqual ¶
func (in *IPv4PoolSpec) DeepEqual(other *IPv4PoolSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type IPv6PoolSpec ¶
type IPv6PoolSpec struct { // CIDRs is a list of IPv6 CIDRs that are part of the pool. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 CIDRs []PoolCIDR `json:"cidrs"` // MaskSize is the mask size of the pool. // // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=128 // +kubebuilder:validation:ExclusiveMaximum=false MaskSize uint8 `json:"maskSize"` }
func (*IPv6PoolSpec) DeepCopy ¶
func (in *IPv6PoolSpec) DeepCopy() *IPv6PoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPv6PoolSpec.
func (*IPv6PoolSpec) DeepCopyInto ¶
func (in *IPv6PoolSpec) DeepCopyInto(out *IPv6PoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPv6PoolSpec) DeepEqual ¶
func (in *IPv6PoolSpec) DeepEqual(other *IPv6PoolSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type PeerConfigReference ¶ added in v1.15.0
type PeerConfigReference struct { // Group is the group of the peer config resource. // If not specified, the default of "cilium.io" is used. // // +kubebuilder:validation:Optional // +kubebuilder:default="cilium.io" Group string `json:"group"` // Kind is the kind of the peer config resource. // If not specified, the default of "CiliumBGPPeerConfig" is used. // // +kubebuilder:validation:Optional // +kubebuilder:default="CiliumBGPPeerConfig" Kind string `json:"kind"` // Name is the name of the peer config resource. // Name refers to the name of a Kubernetes object (typically a CiliumBGPPeerConfig). // // +kubebuilder:validation:Required Name string `json:"name"` }
PeerConfigReference is a reference to a peer configuration resource.
func (*PeerConfigReference) DeepCopy ¶ added in v1.15.0
func (in *PeerConfigReference) DeepCopy() *PeerConfigReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerConfigReference.
func (*PeerConfigReference) DeepCopyInto ¶ added in v1.15.0
func (in *PeerConfigReference) DeepCopyInto(out *PeerConfigReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PeerConfigReference) DeepEqual ¶ added in v1.15.0
func (in *PeerConfigReference) DeepEqual(other *PeerConfigReference) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.