v2alpha1

package
v1.14.2 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2023 License: Apache-2.0 Imports: 10 Imported by: 23

Documentation

Overview

Package v2alpha1 is the v2alpha1 version of the API. +groupName=cilium.io

Index

Constants

View Source
const (
	// DefaultBGPExportPodCIDR defines the default value for ExportPodCIDR determining whether to export the Node's private CIDR block.
	DefaultBGPExportPodCIDR = false
	// 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
)
View Source
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

	// 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

	// CiliumNodeConfig (CNC)
	CNCPluralName     = "ciliumnodeconfigs"
	CNCKindDefinition = "CiliumNodeConfig"
	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
)

Variables

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

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 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"`
	// 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"`
}

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

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

func (*CiliumBGPNeighborGracefulRestart) DeepCopyInto

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

func (*CiliumBGPNeighborGracefulRestart) DeepEqual

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

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

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

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

func (*CiliumBGPPeeringPolicyList) DeepCopyInto

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

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

func (*CiliumBGPPeeringPolicySpec) DeepCopyInto

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

func (*CiliumBGPPeeringPolicySpec) DeepEqual

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

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"`
	// ServiceSelector selects a group of load balancer services which this
	// virtual router will announce.
	//
	// If empty / nil no services will be announced.
	//
	// +kubebuilder:validation:Optional
	ServiceSelector *slimv1.LabelSelector `json:"serviceSelector,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

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

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

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

func (*CiliumL2AnnouncementPolicy) DeepCopyInto

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

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

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

func (*CiliumL2AnnouncementPolicyList) DeepCopyInto

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
	//
	// 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

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

func (*CiliumL2AnnouncementPolicySpec) DeepCopyInto

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

func (*CiliumL2AnnouncementPolicySpec) DeepEqual

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

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

func (*CiliumL2AnnouncementPolicyStatus) DeepCopyInto

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

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

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type CiliumLoadBalancerIPPoolCIDRBlock

type CiliumLoadBalancerIPPoolCIDRBlock struct {
	// +kubebuilder:validation:Format=cidr
	// +kubebuilder:validation:Required
	Cidr IPv4orIPv6CIDR `json:"cidr"`
}

CiliumLoadBalancerIPPoolCIDRBlock describes a single CIDR block.

func (*CiliumLoadBalancerIPPoolCIDRBlock) DeepCopy

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

func (*CiliumLoadBalancerIPPoolCIDRBlock) DeepCopyInto

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

func (*CiliumLoadBalancerIPPoolCIDRBlock) DeepEqual

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

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

func (*CiliumLoadBalancerIPPoolList) DeepCopyInto

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"`
	// CiliumLoadBalancerIPPoolCIDRBlock is a list of CIDRs comprising this IP Pool
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Cidrs []CiliumLoadBalancerIPPoolCIDRBlock `json:"cidrs"`
	// 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

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

func (*CiliumLoadBalancerIPPoolSpec) DeepCopyInto

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

func (*CiliumLoadBalancerIPPoolSpec) DeepEqual

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

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

func (*CiliumLoadBalancerIPPoolStatus) DeepCopyInto

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

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

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 IPv4orIPv6CIDR

type IPv4orIPv6CIDR string

+kubebuilder:validation:Format=cidr

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 PoolCIDR

type PoolCIDR string

PoolCIDR is an IP pool CIDR.

+kubebuilder:validation:Format=cidr

Jump to

Keyboard shortcuts

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