Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "flomesh.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
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"` // in-cluster service, it's the cluster IPs // otherwise, it's the url of accessing that service in remote cluster // for example, http(s)://[Ingress IP/domain name]:[port]/[path] Addresses []string `json:"addresses,omitempty"` }
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 ¶
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 ServiceImport ¶
type ServiceImport struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServiceImportSpec `json:"spec,omitempty"` Status ServiceImportStatus `json:"status,omitempty"` }
ServiceImport is the Schema for the ServiceImports API
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 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 ServiceImportSpec ¶
type ServiceImportSpec struct { // +listType=atomic Ports []ServicePort `json:"ports"` // 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"` // 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 v1.ServiceAffinity `json:"sessionAffinity,omitempty"` // sessionAffinityConfig contains session affinity configuration. // +optional SessionAffinityConfig *v1.SessionAffinityConfig `json:"sessionAffinityConfig,omitempty"` // +optional // The ServiceAccount associated with this service ServiceAccountName string `json:"serviceAccountName,omitempty"` }
ServiceImportSpec describes 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.
type ServiceImportStatus ¶
type ServiceImportStatus struct { // 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 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. // +optional Protocol v1.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"` // The port that will be exposed by this service. Port int32 `json:"port"` // The address of accessing the service Endpoints []Endpoint `json:"endpoints"` }
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) String ¶
func (p *ServicePort) String() string
type Target ¶
type Target struct { Host string `json:"host"` IP string `json:"ip"` Port int32 `json:"port"` Path string `json:"path"` }
func (*Target) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.
func (*Target) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.