Documentation ¶
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type ClusterSpec
- type ServiceExport
- type ServiceExportCondition
- type ServiceExportConditionType
- type ServiceExportList
- type ServiceExportStatus
- type ServiceImport
- type ServiceImportList
- type ServiceImportSpec
Constants ¶
const ( // LabelServiceName is used to indicate the name of a Kubernetes service. LabelServiceName = "multicluster.kubernetes.io/service-name" // LabelManagedBy is used to indicate the controller or entity that manages // an EndpointSlice. This label aims to enable different EndpointSlice // objects to be managed by different controllers or entities within the // same cluster. It is highly recommended to configure this label for all // EndpointSlices. LabelManagedBy = "multicluster.kubernetes.io/managed-by" // ServiceProxyName is used with the "service.kubernetes.io/service-proxy-name" // label to identify endpointslices associated with multi-cluster services so // they are properly ignored by kube-proxy. ServiceProxyName = "multi-cluster" )
const GroupName = "multicluster.x-k8s.io"
GroupName is the group name used in this package
Variables ¶
var ( // SchemeBuilder is the scheme builder with scheme init functions to run for this API package SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a common registration function for mapping packaged scoped group & version keys to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
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 ClusterSpec ¶
type ClusterSpec struct { Cluster string `json:"cluster"` // +listType=atomic // +optional TopologyKeys []string `json:"topologyKeys"` // +optional PublishNotReadyAddresses bool `json:"publishNotReadyAddresses"` // +optional SessionAffinity v1.ServiceAffinity `json:"sessionAffinity"` // +optional SessionAffinityConfig *v1.SessionAffinityConfig `json:"sessionAffinityConfig"` }
ClusterSpec contains service configuration mapped to a specific cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
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 ServiceExportCondition ¶
type ServiceExportCondition struct { Type ServiceExportConditionType `json:"type"` // Status is one of {"True", "False", "Unknown"} Status v1.ConditionStatus `json:"status"` // +optional LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"` // +optional Reason *string `json:"reason,omitempty"` // +optional Message *string `json:"message,omitempty"` }
ServiceExportCondition contains details for the current condition of this service export.
Once [#1624](https://github.com/kubernetes/enhancements/pull/1624) is merged, this will be replaced by metav1.Condition.
func (*ServiceExportCondition) DeepCopy ¶
func (in *ServiceExportCondition) DeepCopy() *ServiceExportCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExportCondition.
func (*ServiceExportCondition) DeepCopyInto ¶
func (in *ServiceExportCondition) DeepCopyInto(out *ServiceExportCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceExportConditionType ¶
type ServiceExportConditionType string
ServiceExportConditionType identifies a specific condition.
const ( // ServiceExportInitialized means the service export has been noticed // by the controller, has passed validation, has appropriate finalizers // set, and any required supercluster resources like the IP have been // reserved ServiceExportInitialized ServiceExportConditionType = "Initialized" // ServiceExportExported means that the service referenced by this // service export has been synced to all clusters in the supercluster ServiceExportExported ServiceExportConditionType = "Exported" )
type ServiceExportList ¶
type ServiceExportList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata. // +optional metav1.ListMeta `json:"metadata,omitempty"` // List of endpoint slices // +listType=set Items []ServiceExport `json:"items"` }
ServiceExportList represents a list of endpoint slices
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 []ServiceExportCondition `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"` // +optional Spec ServiceImportSpec `json:"spec,omitempty"` }
ServiceImport declares that the specified service should be exported to other clusters.
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 endpoint slices // +listType=set Items []ServiceImport `json:"items"` }
ServiceImportList represents a list of endpoint slices
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 ServiceImportSpec ¶
type ServiceImportSpec struct { // +patchMergeKey=port // +patchStrategy=merge // +listType=map // +listMapKey=port // +listMapKey=protocol Ports []v1.ServicePort `json:"ports" patchStrategy:"merge" patchMergeKey:"port"` // +optional // +patchStrategy=merge // +patchMergeKey=cluster // +listType=map // +listMapKey=cluster Clusters []ClusterSpec `json:"clusters" patchStrategy:"merge" patchMergeKey:"cluster"` // +optional IPFamily *v1.IPFamily `json:"ipFamily"` // +optional IP string `json:"ip,omitempty"` }
ServiceImportSpec contains the current status of an imported service and the information necessary to consume it
func (*ServiceImportSpec) DeepCopy ¶
func (in *ServiceImportSpec) DeepCopy() *ServiceImportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceImportSpec.
func (*ServiceImportSpec) DeepCopyInto ¶
func (in *ServiceImportSpec) DeepCopyInto(out *ServiceImportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.