Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the networking.fleet v1alpha1 API group. +kubebuilder:object:generate=true +groupName=networking.fleet.azure.com
Index ¶
- Variables
- type ClusterID
- type ClusterNamespace
- type ClusterStatus
- type Endpoint
- type EndpointSliceExport
- type EndpointSliceExportList
- type EndpointSliceExportSpec
- type EndpointSliceImport
- type EndpointSliceImportList
- type ExportedObjectReference
- type InternalServiceExport
- type InternalServiceExportList
- type InternalServiceExportSpec
- type InternalServiceExportStatus
- type InternalServiceImport
- type InternalServiceImportList
- type InternalServiceImportSpec
- type MultiClusterService
- type MultiClusterServiceConditionType
- type MultiClusterServiceList
- type MultiClusterServiceSpec
- type MultiClusterServiceStatus
- type OwnerServiceReference
- type ServiceExport
- type ServiceExportConditionType
- type ServiceExportList
- type ServiceExportStatus
- type ServiceImport
- type ServiceImportList
- type ServiceImportRef
- type ServiceImportStatus
- type ServiceImportType
- type ServiceInUseBy
- type ServicePort
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "networking.fleet.azure.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ClusterNamespace ¶
type ClusterNamespace string
ClusterNamespace is the namespace reserved for a specific member cluster in the hub cluster.
type ClusterStatus ¶
type ClusterStatus struct { // cluster is the name of the exporting cluster. Must be a valid RFC-1123 DNS label. Cluster string `json:"cluster"` }
ClusterStatus contains service configuration mapped to a specific source cluster.
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoint ¶
type Endpoint struct { // Addresses of the Endpoint. // Addresses should be interpreted per its owner EndpointSliceExport's addressType field. This field contains // at least one address and at maximum 100; for more information about this constraint, // see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#endpoint-v1beta1-discovery-k8s-io. // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems:1 // +kubebuilder:validation:MaxItems:100 Addresses []string `json:"addresses"` }
Endpoint includes all exported addresses from a logical backend.
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointSliceExport ¶
type EndpointSliceExport struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Required Spec EndpointSliceExportSpec `json:"spec"` }
EndpointSliceExport is a data transport type that member clusters in the fleet use to upload the spec of an EndpointSlice to the hub cluster.
func (*EndpointSliceExport) DeepCopy ¶
func (in *EndpointSliceExport) DeepCopy() *EndpointSliceExport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSliceExport.
func (*EndpointSliceExport) DeepCopyInto ¶
func (in *EndpointSliceExport) DeepCopyInto(out *EndpointSliceExport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointSliceExport) DeepCopyObject ¶
func (in *EndpointSliceExport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EndpointSliceExportList ¶
type EndpointSliceExportList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` // +listType=set Items []EndpointSliceExport `json:"items"` }
EndpointSliceExportList contains a list of EndpointSliceExports.
func (*EndpointSliceExportList) DeepCopy ¶
func (in *EndpointSliceExportList) DeepCopy() *EndpointSliceExportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSliceExportList.
func (*EndpointSliceExportList) DeepCopyInto ¶
func (in *EndpointSliceExportList) DeepCopyInto(out *EndpointSliceExportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointSliceExportList) DeepCopyObject ¶
func (in *EndpointSliceExportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EndpointSliceExportSpec ¶
type EndpointSliceExportSpec struct { // The type of addresses carried by this EndpointSliceExport. // At this stage only IPv4 addresses are supported. // +kubebuilder:validation:Enum:="IPv4" // +kubebuilder:default:="IPv4" AddressType discoveryv1.AddressType `json:"addressType"` // A list of unique endpoints in the exported EndpointSlice. // +kubebuilder:validation:Required // +listType=atomic Endpoints []Endpoint `json:"endpoints"` // The list of ports exported by each endpoint in this EndpointSliceExport. Each port must have a unique name. // When the field is empty, it indicates that there are no defined ports. When a port is defined with a nil // port value, it indicates that all ports are exported. Each slice may include a maximum of 100 ports. // +optional // +listType=atomic Ports []discoveryv1.EndpointPort `json:"ports"` // The reference to the source EndpointSlice. // +kubebuilder:validation:Required EndpointSliceReference ExportedObjectReference `json:"endpointSliceReference"` // The reference to the owner Service. // +kubebuilder:validation:Required OwnerServiceReference OwnerServiceReference `json:"ownerServiceReference"` }
EndpointSliceExportSpec specifies the spec of an exported EndpointSlice.
func (*EndpointSliceExportSpec) DeepCopy ¶
func (in *EndpointSliceExportSpec) DeepCopy() *EndpointSliceExportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSliceExportSpec.
func (*EndpointSliceExportSpec) DeepCopyInto ¶
func (in *EndpointSliceExportSpec) DeepCopyInto(out *EndpointSliceExportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointSliceImport ¶
type EndpointSliceImport struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Required Spec EndpointSliceExportSpec `json:"spec"` }
EndpointSliceImport is a data transport type that hub cluster uses to distribute exported EndpointSlices to member clusters.
func (*EndpointSliceImport) DeepCopy ¶
func (in *EndpointSliceImport) DeepCopy() *EndpointSliceImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSliceImport.
func (*EndpointSliceImport) DeepCopyInto ¶
func (in *EndpointSliceImport) DeepCopyInto(out *EndpointSliceImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointSliceImport) DeepCopyObject ¶
func (in *EndpointSliceImport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EndpointSliceImportList ¶
type EndpointSliceImportList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` // +listType=set Items []EndpointSliceImport `json:"items"` }
EndpointSliceImportList contains a list of EndpointSliceExports.
func (*EndpointSliceImportList) DeepCopy ¶
func (in *EndpointSliceImportList) DeepCopy() *EndpointSliceImportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSliceImportList.
func (*EndpointSliceImportList) DeepCopyInto ¶
func (in *EndpointSliceImportList) DeepCopyInto(out *EndpointSliceImportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointSliceImportList) DeepCopyObject ¶
func (in *EndpointSliceImportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExportedObjectReference ¶
type ExportedObjectReference struct { // The ID of the cluster where the object is exported. // +kubebuilder:validation:Required ClusterID string `json:"clusterId"` // The API version of the referred object. // +optional APIVersion string `json:"apiVersion,omitempty"` // The kind of the referred object. // +kubebuilder:validation:Required Kind string `json:"kind"` // The namespace of the referred object. // +kubebuilder:validation:Required Namespace string `json:"namespace"` // The name of the referred object. // +kubebuilder:validation:Required Name string `json:"name"` // The resource version of the referred object. // +kubebuilder:validation:Required ResourceVersion string `json:"resourceVersion"` // The generation of the referred object. // +kubebuilder:validation:Required Generation int64 `json:"generation"` // The UID of the referred object. // +kubebuilder:validation:Required UID types.UID `json:"uid"` // The namespaced name of the referred object. // +kubebuilder:validation:Required NamespacedName string `json:"namespacedName"` // The timestamp from a local clock when the generation of the object is exported. // This field is marked as optional for backwards compatibility reasons. // +kubebuilder:validation:Optional ExportedSince metav1.Time `json:"exportedSince,omitempty"` }
ExportedObjectReference helps operators identify the source of an exported object, e.g. an EndpointSliceExport. +structType=atomic
func FromMetaObjects ¶
func FromMetaObjects(clusterID string, typeMeta metav1.TypeMeta, objMeta metav1.ObjectMeta, exportedSince metav1.Time) ExportedObjectReference
FromMetaObjects builds a new ExportedObjectReference using TypeMeta and ObjectMeta fields from an object.
func (*ExportedObjectReference) DeepCopy ¶
func (in *ExportedObjectReference) DeepCopy() *ExportedObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExportedObjectReference.
func (*ExportedObjectReference) DeepCopyInto ¶
func (in *ExportedObjectReference) DeepCopyInto(out *ExportedObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExportedObjectReference) UpdateFromMetaObject ¶
func (e *ExportedObjectReference) UpdateFromMetaObject(objMeta metav1.ObjectMeta, exportedSince metav1.Time)
UpdateFromMetaObject updates an existing ExportedObjectReference. Note that most fields in an ExportedObjectReference should be immutable after creation.
type InternalServiceExport ¶
type InternalServiceExport struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec InternalServiceExportSpec `json:"spec,omitempty"` // +optional Status InternalServiceExportStatus `json:"status,omitempty"` }
InternalServiceExport is a data transport type that member clusters in the fleet use to upload the spec of exported Service to the hub cluster.
func (*InternalServiceExport) DeepCopy ¶
func (in *InternalServiceExport) DeepCopy() *InternalServiceExport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalServiceExport.
func (*InternalServiceExport) DeepCopyInto ¶
func (in *InternalServiceExport) DeepCopyInto(out *InternalServiceExport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InternalServiceExport) DeepCopyObject ¶
func (in *InternalServiceExport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InternalServiceExportList ¶
type InternalServiceExportList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` // +listType=set Items []InternalServiceExport `json:"items"` }
InternalServiceExportList contains a list of InternalServiceExports.
func (*InternalServiceExportList) DeepCopy ¶
func (in *InternalServiceExportList) DeepCopy() *InternalServiceExportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalServiceExportList.
func (*InternalServiceExportList) DeepCopyInto ¶
func (in *InternalServiceExportList) DeepCopyInto(out *InternalServiceExportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InternalServiceExportList) DeepCopyObject ¶
func (in *InternalServiceExportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InternalServiceExportSpec ¶
type InternalServiceExportSpec struct { // A list of ports exposed by the exported Service. // +listType=atomic Ports []ServicePort `json:"ports"` // The reference to the source Service. // +kubebuilder:validation:Required ServiceReference ExportedObjectReference `json:"serviceReference"` }
InternalServiceExportSpec specifies the spec of an exported Service; at this stage only the ports of an exported Service are sync'd.
func (*InternalServiceExportSpec) DeepCopy ¶
func (in *InternalServiceExportSpec) DeepCopy() *InternalServiceExportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalServiceExportSpec.
func (*InternalServiceExportSpec) DeepCopyInto ¶
func (in *InternalServiceExportSpec) DeepCopyInto(out *InternalServiceExportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InternalServiceExportStatus ¶
type InternalServiceExportStatus struct { // +optional // +patchStrategy=merge // +patchMergeKey=type // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
InternalServiceExportStatus contains the current status of an InternalServiceExport.
func (*InternalServiceExportStatus) DeepCopy ¶
func (in *InternalServiceExportStatus) DeepCopy() *InternalServiceExportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalServiceExportStatus.
func (*InternalServiceExportStatus) DeepCopyInto ¶
func (in *InternalServiceExportStatus) DeepCopyInto(out *InternalServiceExportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InternalServiceImport ¶
type InternalServiceImport struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Required Spec InternalServiceImportSpec `json:"spec"` // status contains information about the exported services that form // the multi-cluster service referenced by this ServiceImport. // +optional Status ServiceImportStatus `json:"status,omitempty"` }
InternalServiceImport is used by the MCS controller to import the Service to a single cluster manually, while ServiceImport is logical identifiers for a Service that exists in another cluster or that stretches across multiple clusters and it will be automatically created in the hub cluster when exporting service.
func (*InternalServiceImport) DeepCopy ¶
func (in *InternalServiceImport) DeepCopy() *InternalServiceImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalServiceImport.
func (*InternalServiceImport) DeepCopyInto ¶
func (in *InternalServiceImport) DeepCopyInto(out *InternalServiceImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InternalServiceImport) DeepCopyObject ¶
func (in *InternalServiceImport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InternalServiceImportList ¶
type InternalServiceImportList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata. // +optional metav1.ListMeta `json:"metadata,omitempty"` // List of InternalServiceImport. // +listType=set Items []InternalServiceImport `json:"items"` }
InternalServiceImportList represents a list of InternalServiceImport.
func (*InternalServiceImportList) DeepCopy ¶
func (in *InternalServiceImportList) DeepCopy() *InternalServiceImportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalServiceImportList.
func (*InternalServiceImportList) DeepCopyInto ¶
func (in *InternalServiceImportList) DeepCopyInto(out *InternalServiceImportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InternalServiceImportList) DeepCopyObject ¶
func (in *InternalServiceImportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InternalServiceImportSpec ¶
type InternalServiceImportSpec struct { // The reference to the source ServiceImport. // +kubebuilder:validation:Required ServiceImportReference ExportedObjectReference `json:"serviceImportReference"` }
InternalServiceImportSpec specifies the spec of InternalServiceImport.
func (*InternalServiceImportSpec) DeepCopy ¶
func (in *InternalServiceImportSpec) DeepCopy() *InternalServiceImportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalServiceImportSpec.
func (*InternalServiceImportSpec) DeepCopyInto ¶
func (in *InternalServiceImportSpec) DeepCopyInto(out *InternalServiceImportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiClusterService ¶
type MultiClusterService struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` Spec MultiClusterServiceSpec `json:"spec"` // +optional Status MultiClusterServiceStatus `json:"status,omitempty"` }
MultiClusterService is the Schema for creating north-south L4 load balancer to consume services across clusters.
func (*MultiClusterService) DeepCopy ¶
func (in *MultiClusterService) DeepCopy() *MultiClusterService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterService.
func (*MultiClusterService) DeepCopyInto ¶
func (in *MultiClusterService) DeepCopyInto(out *MultiClusterService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MultiClusterService) DeepCopyObject ¶
func (in *MultiClusterService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MultiClusterServiceConditionType ¶
type MultiClusterServiceConditionType string
MultiClusterServiceConditionType identifies a specific condition.
const ( // MultiClusterServiceValid means that the ServiceImported referenced by this // multi-cluster service and its configurations have been recognized as valid by a mcs-controller. // This will be false if the ServiceImport is not found in the hub cluster. MultiClusterServiceValid MultiClusterServiceConditionType = "Valid" )
type MultiClusterServiceList ¶
type MultiClusterServiceList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` // +listType=set Items []MultiClusterService `json:"items"` }
MultiClusterServiceList contains a list of MultiClusterService.
func (*MultiClusterServiceList) DeepCopy ¶
func (in *MultiClusterServiceList) DeepCopy() *MultiClusterServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceList.
func (*MultiClusterServiceList) DeepCopyInto ¶
func (in *MultiClusterServiceList) DeepCopyInto(out *MultiClusterServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MultiClusterServiceList) DeepCopyObject ¶
func (in *MultiClusterServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MultiClusterServiceSpec ¶
type MultiClusterServiceSpec struct { // ServiceImport is the reference to the Service with the same name exported in the member clusters. ServiceImport ServiceImportRef `json:"serviceImport,omitempty"` }
MultiClusterServiceSpec defines the desired state of MultiClusterService.
func (*MultiClusterServiceSpec) DeepCopy ¶
func (in *MultiClusterServiceSpec) DeepCopy() *MultiClusterServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceSpec.
func (*MultiClusterServiceSpec) DeepCopyInto ¶
func (in *MultiClusterServiceSpec) DeepCopyInto(out *MultiClusterServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiClusterServiceStatus ¶
type MultiClusterServiceStatus struct { // LoadBalancerStatus represents the status of a load-balancer. // if one is present. // +optional LoadBalancer corev1.LoadBalancerStatus `json:"loadBalancer,omitempty"` // Current service state // +optional // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
MultiClusterServiceStatus represents the current status of a multi-cluster service.
func (*MultiClusterServiceStatus) DeepCopy ¶
func (in *MultiClusterServiceStatus) DeepCopy() *MultiClusterServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceStatus.
func (*MultiClusterServiceStatus) DeepCopyInto ¶
func (in *MultiClusterServiceStatus) DeepCopyInto(out *MultiClusterServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OwnerServiceReference ¶
type OwnerServiceReference struct { // The namespace of the owner Service. // +kubebuilder:validation:Required Namespace string `json:"namespace"` // The name of the owner Service. // +kubebuilder:validation:Required Name string `json:"name"` // The namespaced name (key) of the owner Service. // +kubebuilder:validation:Required NamespacedName string `json:"namespacedName"` }
OwnerServiceReference points to the Service that owns the exported EndpointSlice.
func (*OwnerServiceReference) DeepCopy ¶
func (in *OwnerServiceReference) DeepCopy() *OwnerServiceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnerServiceReference.
func (*OwnerServiceReference) DeepCopyInto ¶
func (in *OwnerServiceReference) DeepCopyInto(out *OwnerServiceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceExport ¶
type ServiceExport struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Status ServiceExportStatus `json:"status,omitempty"` }
ServiceExport declares that the associated service should be exported to other clusters.
func (*ServiceExport) DeepCopy ¶
func (in *ServiceExport) DeepCopy() *ServiceExport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExport.
func (*ServiceExport) DeepCopyInto ¶
func (in *ServiceExport) DeepCopyInto(out *ServiceExport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceExport) DeepCopyObject ¶
func (in *ServiceExport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceExportConditionType ¶
type ServiceExportConditionType string
ServiceExportConditionType identifies a specific condition on a ServiceExport.
const ( // ServiceExportValid means that the service referenced by this service export has been recognized as valid. // This will be false if the service is found to be unexportable (e.g. ExternalName, not found). ServiceExportValid ServiceExportConditionType = "Valid" // ServiceExportConflict means that there is a conflict between two exports for the same Service. // When "True", the condition message should contain enough information to diagnose the conflict: // field(s) under contention, which cluster won, and why. // Users should not expect detailed per-cluster information in the conflict message. ServiceExportConflict ServiceExportConditionType = "Conflict" )
type ServiceExportList ¶
type ServiceExportList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` // +listType=set Items []ServiceExport `json:"items"` }
ServiceExportList contains a list of ServiceExport.
func (*ServiceExportList) DeepCopy ¶
func (in *ServiceExportList) DeepCopy() *ServiceExportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExportList.
func (*ServiceExportList) DeepCopyInto ¶
func (in *ServiceExportList) DeepCopyInto(out *ServiceExportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceExportList) DeepCopyObject ¶
func (in *ServiceExportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceExportStatus ¶
type ServiceExportStatus struct { // +optional // +patchStrategy=merge // +patchMergeKey=type // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
ServiceExportStatus contains the current status of an export.
func (*ServiceExportStatus) DeepCopy ¶
func (in *ServiceExportStatus) DeepCopy() *ServiceExportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExportStatus.
func (*ServiceExportStatus) DeepCopyInto ¶
func (in *ServiceExportStatus) DeepCopyInto(out *ServiceExportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceImport ¶
type ServiceImport struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // status contains information about the exported services that form // the multi-cluster service referenced by this ServiceImport. // +optional Status ServiceImportStatus `json:"status,omitempty"` }
ServiceImport describes a service imported from clusters in a ClusterSet.
func (*ServiceImport) DeepCopy ¶
func (in *ServiceImport) DeepCopy() *ServiceImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceImport.
func (*ServiceImport) DeepCopyInto ¶
func (in *ServiceImport) DeepCopyInto(out *ServiceImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceImport) DeepCopyObject ¶
func (in *ServiceImport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceImportList ¶
type ServiceImportList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata. // +optional metav1.ListMeta `json:"metadata,omitempty"` // List of ServiceImport. // +listType=set Items []ServiceImport `json:"items"` }
ServiceImportList contains a list of ServiceImport.
func (*ServiceImportList) DeepCopy ¶
func (in *ServiceImportList) DeepCopy() *ServiceImportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceImportList.
func (*ServiceImportList) DeepCopyInto ¶
func (in *ServiceImportList) DeepCopyInto(out *ServiceImportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceImportList) DeepCopyObject ¶
func (in *ServiceImportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceImportRef ¶
type ServiceImportRef struct { // Name is the name of the referent. // // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^([a-z]([-a-z0-9]*[a-z0-9])?)$` // +required Name string `json:"name"` }
ServiceImportRef is the reference to the ServiceImport. To consume multi-cluster service, users are expected to use ServiceImport. When mcs controller sees the MCS definition, the ServiceImport will be created in the importing cluster to represent the multi-cluster service.
func (*ServiceImportRef) DeepCopy ¶
func (in *ServiceImportRef) DeepCopy() *ServiceImportRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceImportRef.
func (*ServiceImportRef) DeepCopyInto ¶
func (in *ServiceImportRef) DeepCopyInto(out *ServiceImportRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceImportStatus ¶
type ServiceImportStatus struct { // ip will be used as the VIP for this service when type is ClusterSetIP. // +kubebuilder:validation:MaxItems:=1 // +optional IPs []string `json:"ips,omitempty"` // type defines the type of this service. // Must be ClusterSetIP or Headless. // +kubebuilder:validation:Enum=ClusterSetIP;Headless // +optional Type ServiceImportType `json:"type,omitempty"` // Supports "ClientIP" and "None". Used to maintain session affinity. // Enable client IP based session affinity. // Must be ClientIP or None. // Defaults to None. // Ignored when type is Headless // More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies // +optional SessionAffinity corev1.ServiceAffinity `json:"sessionAffinity,omitempty"` // sessionAffinityConfig contains session affinity configuration. // +optional SessionAffinityConfig *corev1.SessionAffinityConfig `json:"sessionAffinityConfig,omitempty"` // +listType=atomic // +optional Ports []ServicePort `json:"ports,omitempty"` // clusters is the list of exporting clusters from which this service was derived. // +optional // +patchStrategy=merge // +patchMergeKey=cluster // +listType=map // +listMapKey=cluster Clusters []ClusterStatus `json:"clusters,omitempty"` }
ServiceImportStatus describes derived state of an imported service.
func (*ServiceImportStatus) DeepCopy ¶
func (in *ServiceImportStatus) DeepCopy() *ServiceImportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceImportStatus.
func (*ServiceImportStatus) DeepCopyInto ¶
func (in *ServiceImportStatus) DeepCopyInto(out *ServiceImportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceImportType ¶
type ServiceImportType string
ServiceImportType designates the type of a ServiceImport
const ( // ClusterSetIP are only accessible via the ClusterSet IP. ClusterSetIP ServiceImportType = "ClusterSetIP" // Headless services allow backend pods to be addressed directly. Headless ServiceImportType = "Headless" )
type ServiceInUseBy ¶
type ServiceInUseBy struct {
MemberClusters map[ClusterNamespace]ClusterID
}
ServiceInUseBy describes the member clusters that have requested to import a Service from the hub cluster. This object is not provided directly as a part of fleet networking API, but provided as a contract for marshaling/unmarshaling ServiceImport annotations, specifically for
- the InternalServiceImport controller to annotate on a ServiceImport which member clusters have requested to import the Service; and
- the EndpointSliceExport controller to find out from annotations on a ServiceImport which member clusters have requested to import the Service.
func (*ServiceInUseBy) DeepCopy ¶
func (in *ServiceInUseBy) DeepCopy() *ServiceInUseBy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceInUseBy.
func (*ServiceInUseBy) DeepCopyInto ¶
func (in *ServiceInUseBy) DeepCopyInto(out *ServiceInUseBy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePort ¶
type ServicePort struct { // The name of this port within the service. This must be a DNS_LABEL. // All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, // this must match the 'name' field in the EndpointPort. // Optional if only one ServicePort is defined on this service. // +optional Name string `json:"name,omitempty"` // The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". // Default is TCP. // +kubebuilder:validation:Enum:=TCP;UDP;SCTP Protocol corev1.Protocol `json:"protocol,omitempty"` // The application protocol for this port. // This field follows standard Kubernetes label syntax. // Un-prefixed names are reserved for IANA standard service names (as per // RFC-6335 and http://www.iana.org/assignments/service-names). // Non-standard protocols should use prefixed names such as // mycompany.com/my-custom-protocol. // Field can be enabled with ServiceAppProtocol feature gate. // +optional AppProtocol *string `json:"appProtocol,omitempty"` // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // The port that will be exposed by this service. Port int32 `json:"port"` // The port to access on the pods targeted by the service. // +optional TargetPort intstr.IntOrString `json:"targetPort,omitempty"` }
ServicePort represents the port on which the service is exposed.
func (*ServicePort) DeepCopy ¶
func (in *ServicePort) DeepCopy() *ServicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePort.
func (*ServicePort) DeepCopyInto ¶
func (in *ServicePort) DeepCopyInto(out *ServicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServicePort) ToServicePort ¶
func (in *ServicePort) ToServicePort() corev1.ServicePort
ToServicePort converts ServicePort to a K8 ServicePort.