Documentation
¶
Overview ¶
Package v2alpha1 is the v2alpha1 version of the API. +groupName=cilium.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type CiliumBGPLoadBalancerIPPool
- func (in *CiliumBGPLoadBalancerIPPool) DeepCopy() *CiliumBGPLoadBalancerIPPool
- func (in *CiliumBGPLoadBalancerIPPool) DeepCopyInto(out *CiliumBGPLoadBalancerIPPool)
- func (in *CiliumBGPLoadBalancerIPPool) DeepCopyObject() runtime.Object
- func (in *CiliumBGPLoadBalancerIPPool) DeepEqual(other *CiliumBGPLoadBalancerIPPool) bool
- type CiliumBGPLoadBalancerIPPoolList
- type CiliumBGPLoadBalancerIPPoolSpec
- type CiliumBGPNeighbor
- type CiliumBGPPeeringPolicy
- type CiliumBGPPeeringPolicyList
- type CiliumBGPPeeringPolicySpec
- type CiliumBGPVirtualRouter
- type CiliumClusterwideEnvoyConfig
- func (in *CiliumClusterwideEnvoyConfig) DeepCopy() *CiliumClusterwideEnvoyConfig
- func (in *CiliumClusterwideEnvoyConfig) DeepCopyInto(out *CiliumClusterwideEnvoyConfig)
- func (in *CiliumClusterwideEnvoyConfig) DeepCopyObject() runtime.Object
- func (in *CiliumClusterwideEnvoyConfig) DeepEqual(other *CiliumClusterwideEnvoyConfig) bool
- type CiliumClusterwideEnvoyConfigList
- type CiliumEgressNATPolicy
- type CiliumEgressNATPolicyList
- type CiliumEgressNATPolicySpec
- type CiliumEndpointSlice
- type CiliumEndpointSliceList
- type CiliumEnvoyConfig
- type CiliumEnvoyConfigList
- type CiliumEnvoyConfigSpec
- type CoreCiliumEndpoint
- type EgressGateway
- type EgressRule
- type IPv4CIDR
- type Service
- type ServiceListener
- type XDSResource
Constants ¶
const ( // CustomResourceDefinitionGroup is the name of the third party resource group CustomResourceDefinitionGroup = k8sconst.CustomResourceDefinitionGroup // CustomResourceDefinitionVersion is the current version of the resource CustomResourceDefinitionVersion = "v2alpha1" // CustomResourceDefinitionSchemaVersion is semver-conformant version of CRD schema // Used to determine if CRD needs to be updated in cluster // // Maintainers: Run ./Documentation/check-crd-compat-table.sh for each release // Developers: Bump patch for each change in the CRD schema. CustomResourceDefinitionSchemaVersion = "1.25.2" // CustomResourceDefinitionSchemaVersionKey is key to label which holds the CRD schema version CustomResourceDefinitionSchemaVersionKey = "io.cilium.k8s.crd.schema.version" // CENPSingularName is the singular name of Cilium Egress NAT Policy CENPSingularName = "ciliumegressnatpolicy" // CENPPluralName is the plural name of Cilium Egress NAT Policy CENPPluralName = "ciliumegressnatpolicies" // CENPKindDefinition is the kind name of Cilium Egress NAT Policy CENPKindDefinition = "CiliumEgressNATPolicy" // CENPName is the full name of Cilium Egress NAT Policy CENPName = CENPPluralName + "." + CustomResourceDefinitionGroup // CESSingularName is the singular name of Cilium Endpoint Slice CESSingularName = "ciliumendpointslice" // 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 // CCECSingularName is the singular name of Cilium Clusterwide Envoy Config CCECSingularName = "ciliumclusterwideenvoyconfig" // CCECPluralName is the plural name of Cilium Clusterwide Envoy Config CCECPluralName = "ciliumclusterwideenvoyconfigs" // CCECKindDefinition is the kind name of Cilium Clusterwide Envoy Config CCECKindDefinition = "CiliumClusterwideEnvoyConfig" // CCECName is the full name of Cilium Clusterwide Envoy Config CCECName = CCECPluralName + "." + CustomResourceDefinitionGroup // CECSingularName is the singular name of Cilium Envoy Config CECSingularName = "ciliumenvoyconfig" // CECPluralName is the plural name of Cilium Envoy Config CECPluralName = "ciliumenvoyconfigs" // CECKindDefinition is the kind name of Cilium Envoy Config CECKindDefinition = "CiliumEnvoyConfig" // CECName is the full name of Cilium Envoy Config CECName = CECPluralName + "." + CustomResourceDefinitionGroup // BGPPSingularName is the singular name of Cilium BGP Peering Policy BGPPSingularName = "ciliumbgppeeringpolicy" // 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 // BGPPoolSingularName is the singular name of Cilium BGP Load Balancer IP Pool BGPPoolSingularName = "ciliumbgploadbalancerippool" // BGPPoolPluralName is the plural name of Cilium BGP Load Balancer IP Pool BGPPoolPluralName = "ciliumbgploadbalancerippools" // BGPPoolKindDefinition is the kind name of Cilium BGP Peering Policy BGPPoolKindDefinition = "CiliumBGPLoadBalancerIPPool" // BGPPoolName is the full name of Cilium BGP Load Balancer IP Pool BGPPoolName = BGPPoolPluralName + "." + CustomResourceDefinitionGroup )
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/kuberentes/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 CiliumBGPLoadBalancerIPPool ¶ added in v1.12.0
type CiliumBGPLoadBalancerIPPool 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:Optional Spec CiliumBGPLoadBalancerIPPoolSpec `json:"spec,omitempty"` }
CiliumBGPLoadBalancerIPPool is a Kubernetes third-party resource which instructs the BGP control plane to allocate and advertise IPs for Services of type LoadBalancer.
func (*CiliumBGPLoadBalancerIPPool) DeepCopy ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPool) DeepCopy() *CiliumBGPLoadBalancerIPPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPLoadBalancerIPPool.
func (*CiliumBGPLoadBalancerIPPool) DeepCopyInto ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPool) DeepCopyInto(out *CiliumBGPLoadBalancerIPPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPLoadBalancerIPPool) DeepCopyObject ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumBGPLoadBalancerIPPool) DeepEqual ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPool) DeepEqual(other *CiliumBGPLoadBalancerIPPool) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumBGPLoadBalancerIPPoolList ¶ added in v1.12.0
type CiliumBGPLoadBalancerIPPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumBGPPeeringPolicies. Items []CiliumBGPLoadBalancerIPPool `json:"items"` }
CiliumBGPPeeringPolicyLlist is a list of CiliumBGPPeeringPolicy objects.
func (*CiliumBGPLoadBalancerIPPoolList) DeepCopy ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPoolList) DeepCopy() *CiliumBGPLoadBalancerIPPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPLoadBalancerIPPoolList.
func (*CiliumBGPLoadBalancerIPPoolList) DeepCopyInto ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPoolList) DeepCopyInto(out *CiliumBGPLoadBalancerIPPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPLoadBalancerIPPoolList) DeepCopyObject ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumBGPLoadBalancerIPPoolSpec ¶ added in v1.12.0
type CiliumBGPLoadBalancerIPPoolSpec struct { // NodeSelector selects a group of nodes which will advertise // the presence of any LoadBalancers allocated from this IP pool. // // If nil all nodes will advertise the presence of any LoadBalancer // allocated an IP from this pool. // // +kubebuilder:validation:Optional // +deepequal-gen=true NodeSelector *slimv1.LabelSelector `json:"nodeSelector"` // The CIDR block of IPs to allocate from. // // +kubebuilder:validation:Format=cidr // +kubebuilder:validation:Required Prefix string `json:"prefix"` // LBSelector will determine if a created LoadBalancer is // allocated an IP from this pool. // // +kubebuilder:validation:Optional LBSelector *slimv1.LabelSelector `json:"lbSelector"` // Default determines if this is the default IP pool for // allocating from when LBSelector is nil or empty. // // +kubebuilder:validation:Optional Default bool `json:"default"` }
CiliumBGPLoadBalancerIPPoolSpec is a human readable description for a BGP load balancer ip pool.
func (*CiliumBGPLoadBalancerIPPoolSpec) DeepCopy ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPoolSpec) DeepCopy() *CiliumBGPLoadBalancerIPPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumBGPLoadBalancerIPPoolSpec.
func (*CiliumBGPLoadBalancerIPPoolSpec) DeepCopyInto ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPoolSpec) DeepCopyInto(out *CiliumBGPLoadBalancerIPPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumBGPLoadBalancerIPPoolSpec) DeepEqual ¶ added in v1.12.0
func (in *CiliumBGPLoadBalancerIPPoolSpec) DeepEqual(other *CiliumBGPLoadBalancerIPPoolSpec) 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"` // 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 int `json:"peerASN"` }
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.
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.
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 nil this policy applies to all nodes. // // +kubebuilder:validation:Optional NodeSelector *slimv1.LabelSelector `json:"nodeSelector"` // 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 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 int `json:"localASN"` // ExportPodCIDR determines whether to export the Node's private CIDR block // to the configured neighbors. // // +kubebuilder:validation:Optional ExportPodCIDR bool `json:"exportPodCIDR"` // 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.
type CiliumClusterwideEnvoyConfig ¶
type CiliumClusterwideEnvoyConfig struct { // +k8s:openapi-gen=false // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // +k8s:openapi-gen=false // +kubebuilder:validation:Type=object Spec CiliumEnvoyConfigSpec `json:"spec,omitempty"` }
func (*CiliumClusterwideEnvoyConfig) DeepCopy ¶
func (in *CiliumClusterwideEnvoyConfig) DeepCopy() *CiliumClusterwideEnvoyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumClusterwideEnvoyConfig.
func (*CiliumClusterwideEnvoyConfig) DeepCopyInto ¶
func (in *CiliumClusterwideEnvoyConfig) DeepCopyInto(out *CiliumClusterwideEnvoyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumClusterwideEnvoyConfig) DeepCopyObject ¶
func (in *CiliumClusterwideEnvoyConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumClusterwideEnvoyConfig) DeepEqual ¶
func (in *CiliumClusterwideEnvoyConfig) DeepEqual(other *CiliumClusterwideEnvoyConfig) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumClusterwideEnvoyConfigList ¶
type CiliumClusterwideEnvoyConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumClusterwideEnvoyConfig. Items []CiliumClusterwideEnvoyConfig `json:"items"` }
CiliumClusterwideEnvoyConfigList is a list of CiliumClusterwideEnvoyConfig objects.
func (*CiliumClusterwideEnvoyConfigList) DeepCopy ¶
func (in *CiliumClusterwideEnvoyConfigList) DeepCopy() *CiliumClusterwideEnvoyConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumClusterwideEnvoyConfigList.
func (*CiliumClusterwideEnvoyConfigList) DeepCopyInto ¶
func (in *CiliumClusterwideEnvoyConfigList) DeepCopyInto(out *CiliumClusterwideEnvoyConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumClusterwideEnvoyConfigList) DeepCopyObject ¶
func (in *CiliumClusterwideEnvoyConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumEgressNATPolicy ¶ added in v1.10.0
type CiliumEgressNATPolicy struct { // +k8s:openapi-gen=false // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` Spec CiliumEgressNATPolicySpec `json:"spec,omitempty"` }
func (*CiliumEgressNATPolicy) DeepCopy ¶ added in v1.10.0
func (in *CiliumEgressNATPolicy) DeepCopy() *CiliumEgressNATPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEgressNATPolicy.
func (*CiliumEgressNATPolicy) DeepCopyInto ¶ added in v1.10.0
func (in *CiliumEgressNATPolicy) DeepCopyInto(out *CiliumEgressNATPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEgressNATPolicy) DeepCopyObject ¶ added in v1.10.0
func (in *CiliumEgressNATPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumEgressNATPolicy) DeepEqual ¶ added in v1.10.0
func (in *CiliumEgressNATPolicy) DeepEqual(other *CiliumEgressNATPolicy) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumEgressNATPolicyList ¶ added in v1.10.0
type CiliumEgressNATPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumEgressNATPolicy. Items []CiliumEgressNATPolicy `json:"items"` }
CiliumEgressNATPolicyList is a list of CiliumEgressNATPolicy objects.
func (*CiliumEgressNATPolicyList) DeepCopy ¶ added in v1.10.0
func (in *CiliumEgressNATPolicyList) DeepCopy() *CiliumEgressNATPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEgressNATPolicyList.
func (*CiliumEgressNATPolicyList) DeepCopyInto ¶ added in v1.10.0
func (in *CiliumEgressNATPolicyList) DeepCopyInto(out *CiliumEgressNATPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEgressNATPolicyList) DeepCopyObject ¶ added in v1.10.0
func (in *CiliumEgressNATPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumEgressNATPolicySpec ¶ added in v1.10.0
type CiliumEgressNATPolicySpec struct { // Egress represents a list of rules by which egress traffic is // filtered from the source pods. Egress []EgressRule `json:"egress"` // DestinationCIDRs is a list of destination CIDRs for destination IP addresses. // If a destination IP matches any one CIDR, it will be selected. DestinationCIDRs []IPv4CIDR `json:"destinationCIDRs"` // EgressSourceIP is a source ip address that the egress traffic is // redirected to and SNATed with. // // Example: // When it is set to "192.168.1.100", matched egress packets will be // redirected to node with ip 192.168.1.100 and SNAT’ed with IP address 192.168.1.100. // // +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*$))` // +kubebuilder:validation:OneOf EgressSourceIP string `json:"egressSourceIP"` // EgressGateway is the gateway node responsible for SNATing traffic. // // +kubebuilder:validation:OneOf EgressGateway *EgressGateway `json:"egressGateway"` }
func (*CiliumEgressNATPolicySpec) DeepCopy ¶ added in v1.10.0
func (in *CiliumEgressNATPolicySpec) DeepCopy() *CiliumEgressNATPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEgressNATPolicySpec.
func (*CiliumEgressNATPolicySpec) DeepCopyInto ¶ added in v1.10.0
func (in *CiliumEgressNATPolicySpec) DeepCopyInto(out *CiliumEgressNATPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEgressNATPolicySpec) DeepEqual ¶ added in v1.10.0
func (in *CiliumEgressNATPolicySpec) DeepEqual(other *CiliumEgressNATPolicySpec) 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 CiliumEnvoyConfig ¶
type CiliumEnvoyConfig struct { // +k8s:openapi-gen=false // +deepequal-gen=false metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false // +deepequal-gen=false metav1.ObjectMeta `json:"metadata"` // +k8s:openapi-gen=false // +kubebuilder:validation:Type=object Spec CiliumEnvoyConfigSpec `json:"spec,omitempty"` }
func (*CiliumEnvoyConfig) DeepCopy ¶
func (in *CiliumEnvoyConfig) DeepCopy() *CiliumEnvoyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEnvoyConfig.
func (*CiliumEnvoyConfig) DeepCopyInto ¶
func (in *CiliumEnvoyConfig) DeepCopyInto(out *CiliumEnvoyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEnvoyConfig) DeepCopyObject ¶
func (in *CiliumEnvoyConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CiliumEnvoyConfig) DeepEqual ¶
func (in *CiliumEnvoyConfig) DeepEqual(other *CiliumEnvoyConfig) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type CiliumEnvoyConfigList ¶
type CiliumEnvoyConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` // Items is a list of CiliumEnvoyConfig. Items []CiliumEnvoyConfig `json:"items"` }
CiliumEnvoyConfigList is a list of CiliumEnvoyConfig objects.
func (*CiliumEnvoyConfigList) DeepCopy ¶
func (in *CiliumEnvoyConfigList) DeepCopy() *CiliumEnvoyConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEnvoyConfigList.
func (*CiliumEnvoyConfigList) DeepCopyInto ¶
func (in *CiliumEnvoyConfigList) DeepCopyInto(out *CiliumEnvoyConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEnvoyConfigList) DeepCopyObject ¶
func (in *CiliumEnvoyConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CiliumEnvoyConfigSpec ¶
type CiliumEnvoyConfigSpec struct { // Services specifies Kubernetes services for which traffic is // forwarded to an Envoy listener for L7 load balancing. Backends // of these services are automatically synced to Envoy usign EDS. // // +kubebuilder:validation:Optional Services []*ServiceListener `json:"services,omitempty"` // BackendServices specifies Kubernetes services whose backends // are automatically synced to Envoy using EDS. Traffic for these // services is not forwarded to an Envoy listener. This allows an // Envoy listener load balance traffic to these backends while // normal Cilium service load balancing takes care of balancing // traffic for these services at the same time. // // +kubebuilder:validation:Optional BackendServices []*Service `json:"backendServices,omitempty"` // Envoy xDS resources, a list of the following Envoy resource types: // type.googleapis.com/envoy.config.listener.v3.Listener, // type.googleapis.com/envoy.config.route.v3.RouteConfiguration, // type.googleapis.com/envoy.config.cluster.v3.Cluster, // type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment, and // type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret. // // +kubebuilder:validation:Required Resources []XDSResource `json:"resources,omitempty"` }
func (*CiliumEnvoyConfigSpec) DeepCopy ¶
func (in *CiliumEnvoyConfigSpec) DeepCopy() *CiliumEnvoyConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumEnvoyConfigSpec.
func (*CiliumEnvoyConfigSpec) DeepCopyInto ¶
func (in *CiliumEnvoyConfigSpec) DeepCopyInto(out *CiliumEnvoyConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CiliumEnvoyConfigSpec) DeepEqual ¶
func (in *CiliumEnvoyConfigSpec) DeepEqual(other *CiliumEnvoyConfigSpec) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
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 EgressGateway ¶
type EgressGateway struct { // This is a label selector which selects the node that should act as // egress gateway for the given policy. // In case multiple nodes are selected, only the first one in the // lexical ordering over the node names will be used. // This field follows standard label selector semantics. // // +kubebuilder:validation:Required NodeSelector *slimv1.LabelSelector `json:"nodeSelector"` // Interface is the network interface to which the egress IP address // that the traffic is SNATed with is assigned. // // Example: // When set to "eth1", matching egress traffic will be redirected to the // node matching the NodeSelector field and SNATed with the first IPv4 // address assigned to the eth1 interface. // // When none of the Interface or EgressIP fields is specified, the // policy will use the first IPv4 assigned to the interface with the // default route. Interface string `json:"interface,omitempty"` // EgressIP is the source IP address that the egress traffic is SNATed // with. // // Example: // When set to "192.168.1.100", matching egress traffic will be // redirected to the node matching the NodeSelector field and SNATed // with IP address 192.168.1.100. // // When none of the Interface or EgressIP fields is specified, the // policy will use the first IPv4 assigned to the interface with the // default route. // // +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*$))` EgressIP string `json:"egressIP,omitempty"` }
EgressGateway identifies the node that should act as egress gateway for a given egress NAT policy. In addition to that it also specifies the configuration of said node (which egress IP or network interface should be used to SNAT traffic).
func (*EgressGateway) DeepCopy ¶
func (in *EgressGateway) DeepCopy() *EgressGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressGateway.
func (*EgressGateway) DeepCopyInto ¶
func (in *EgressGateway) DeepCopyInto(out *EgressGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EgressGateway) DeepEqual ¶
func (in *EgressGateway) DeepEqual(other *EgressGateway) 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 IPv4CIDR ¶ added in v1.10.0
type IPv4CIDR string
+kubebuilder:validation:Pattern=`^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([0-9]|[1-2][0-9]|3[0-2])$`
type Service ¶
type Service struct { // Name is the name of a destination Kubernetes service that identifies traffic // to be redirected. // // +kubebuilder:validation:Required Name string `json:"name"` // Namespace is the Kubernetes service namespace. // In CiliumEnvoyConfig namespace defaults to the namespace of the CEC, // In CiliumClusterwideEnvoyConfig namespace defaults to "default". // +kubebuilder:validation:Optional Namespace string `json:"namespace"` }
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceListener ¶
type ServiceListener struct { // Name is the name of a destination Kubernetes service that identifies traffic // to be redirected. // // +kubebuilder:validation:Required Name string `json:"name"` // Namespace is the Kubernetes service namespace. // In CiliumEnvoyConfig namespace this is overridden to the namespace of the CEC, // In CiliumClusterwideEnvoyConfig namespace defaults to "default". // +kubebuilder:validation:Optional Namespace string `json:"namespace"` // Listener specifies the name of the Envoy listener the // service traffic is redirected to. The listener must be // specified in the Envoy 'resources' of the same // CiliumEnvoyConfig. // // If omitted, the first listener specified in 'resources' is // used. // // +kubebuilder:validation:Optional Listener string `json:"listener"` }
func (*ServiceListener) DeepCopy ¶
func (in *ServiceListener) DeepCopy() *ServiceListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceListener.
func (*ServiceListener) DeepCopyInto ¶
func (in *ServiceListener) DeepCopyInto(out *ServiceListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceListener) DeepEqual ¶
func (in *ServiceListener) DeepEqual(other *ServiceListener) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type XDSResource ¶
+kubebuilder:pruning:PreserveUnknownFields
func (*XDSResource) DeepCopy ¶
func (in *XDSResource) DeepCopy() *XDSResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XDSResource.
func (*XDSResource) DeepCopyInto ¶
func (in *XDSResource) DeepCopyInto(out *XDSResource)
DeepCopyInto deep copies 'in' into 'out'.
func (*XDSResource) DeepEqual ¶
func (a *XDSResource) DeepEqual(b *XDSResource) bool
Equal returns 'true' if 'a' and 'b' are equal.
func (*XDSResource) MarshalJSON ¶
func (u *XDSResource) MarshalJSON() ([]byte, error)
MarshalJSON ensures that the unstructured object produces proper JSON when passed to Go's standard JSON library.
func (*XDSResource) UnmarshalJSON ¶
func (u *XDSResource) UnmarshalJSON(b []byte) (err error)
UnmarshalJSON ensures that the unstructured object properly decodes JSON when passed to Go's standard JSON library.