v1alpha1

package
v0.0.0-...-7473aff Latest Latest
Warning

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

Go to latest
Published: May 12, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
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"
)
View Source
const GroupName = "multicluster.x-k8s.io"

GroupName is the group name used in this package

Variables

View Source
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
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

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

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.

Jump to

Keyboard shortcuts

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