Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 contains API Schema definitions for the flomesh.io v1alpha1 API group
Index ¶
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AlgoBalancer
- type ClusterStatus
- type Endpoint
- type GlobalTrafficPolicy
- type GlobalTrafficPolicyList
- type GlobalTrafficPolicySpec
- type GlobalTrafficPolicyStatus
- type LoadBalancerType
- type PathRewrite
- type ServiceExport
- type ServiceExportConditionType
- type ServiceExportList
- type ServiceExportRule
- type ServiceExportSpec
- type ServiceExportStatus
- type ServiceImport
- type ServiceImportList
- type ServiceImportSpec
- type ServiceImportStatus
- type ServiceImportType
- type ServicePort
- type Target
- type TrafficTarget
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register API objects in the policy.flomesh.io v1alpha1 API group SchemeGroupVersion = schema.GroupVersion{ Group: "flomesh.io", Version: "v1alpha1", } // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds all Resources to the 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 ¶
Endpoint imported service's endpoints
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 GlobalTrafficPolicy ¶
type GlobalTrafficPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GlobalTrafficPolicySpec `json:"spec,omitempty"` Status GlobalTrafficPolicyStatus `json:"status,omitempty"` }
GlobalTrafficPolicy is the Schema for the GlobalTrafficPolicys API +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*GlobalTrafficPolicy) DeepCopy ¶
func (in *GlobalTrafficPolicy) DeepCopy() *GlobalTrafficPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalTrafficPolicy.
func (*GlobalTrafficPolicy) DeepCopyInto ¶
func (in *GlobalTrafficPolicy) DeepCopyInto(out *GlobalTrafficPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalTrafficPolicy) DeepCopyObject ¶
func (in *GlobalTrafficPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalTrafficPolicyList ¶
type GlobalTrafficPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GlobalTrafficPolicy `json:"items"` }
GlobalTrafficPolicyList contains a list of GlobalTrafficPolicy +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*GlobalTrafficPolicyList) DeepCopy ¶
func (in *GlobalTrafficPolicyList) DeepCopy() *GlobalTrafficPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalTrafficPolicyList.
func (*GlobalTrafficPolicyList) DeepCopyInto ¶
func (in *GlobalTrafficPolicyList) DeepCopyInto(out *GlobalTrafficPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalTrafficPolicyList) DeepCopyObject ¶
func (in *GlobalTrafficPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalTrafficPolicySpec ¶
type GlobalTrafficPolicySpec struct { // Type of global load distribution LbType LoadBalancerType `json:"lbType"` // +optional LoadBalanceTarget []TrafficTarget `json:"targets"` }
GlobalTrafficPolicySpec defines the desired state of GlobalTrafficPolicy
func (*GlobalTrafficPolicySpec) DeepCopy ¶
func (in *GlobalTrafficPolicySpec) DeepCopy() *GlobalTrafficPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalTrafficPolicySpec.
func (*GlobalTrafficPolicySpec) DeepCopyInto ¶
func (in *GlobalTrafficPolicySpec) DeepCopyInto(out *GlobalTrafficPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalTrafficPolicyStatus ¶
type GlobalTrafficPolicyStatus struct { }
GlobalTrafficPolicyStatus defines the observed state of GlobalTrafficPolicy
func (*GlobalTrafficPolicyStatus) DeepCopy ¶
func (in *GlobalTrafficPolicyStatus) DeepCopy() *GlobalTrafficPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalTrafficPolicyStatus.
func (*GlobalTrafficPolicyStatus) DeepCopyInto ¶
func (in *GlobalTrafficPolicyStatus) DeepCopyInto(out *GlobalTrafficPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerType ¶
type LoadBalancerType string
LoadBalancerType defines load balancer type
const ( // ActiveActiveLbType defines AA load balance type ActiveActiveLbType LoadBalancerType = "ActiveActive" // LocalityLbType defines OL load balance type LocalityLbType LoadBalancerType = "Locality" // FailOverLbType defines FO load balance type FailOverLbType LoadBalancerType = "FailOver" )
type PathRewrite ¶
PathRewrite defines path rewrite rule.
func (*PathRewrite) DeepCopy ¶
func (in *PathRewrite) DeepCopy() *PathRewrite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRewrite.
func (*PathRewrite) DeepCopyInto ¶
func (in *PathRewrite) DeepCopyInto(out *PathRewrite)
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"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServiceExportSpec `json:"spec,omitempty"` Status ServiceExportStatus `json:"status,omitempty"` }
ServiceExport is the Schema for the ServiceExports API +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
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.
const ( // ServiceExportValid means that the service referenced by this // service export has been recognized as valid by controller. // This will be false if the service is found to be unexportable // (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"` // Standard list metadata. // +optional metav1.ListMeta `json:"metadata,omitempty"` // List of endpoint slices // +listType=set Items []ServiceExport `json:"items"` }
ServiceExportList contains a list of ServiceExport +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
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 ServiceExportRule ¶
type ServiceExportRule struct { // The port number of service PortNumber int32 `json:"portNumber,omitempty"` // Path is matched against the path of an incoming request. Currently it can // contain characters disallowed from the conventional "path" part of a URL // as defined by RFC 3986. Paths must begin with a '/' and must be present // when using PathType with value "Exact" or "Prefix". Path string `json:"path,omitempty"` // PathType determines the interpretation of the Path matching. PathType can // be one of the following values: // * Exact: Matches the URL path exactly. // * Prefix: Matches based on a URL path prefix split by '/'. Matching is // done on a path element by element basis. A path element refers is the // list of labels in the path split by the '/' separator. A request is a // match for path p if every p is an element-wise prefix of p of the // request path. Note that if the last element of the path is a substring // of the last element in request path, it is not a match (e.g. /foo/bar // matches /foo/bar/baz, but does not match /foo/barbaz). PathType *networkingv1.PathType `json:"pathType"` }
ServiceExportRule defines service export rule.
func (*ServiceExportRule) DeepCopy ¶
func (in *ServiceExportRule) DeepCopy() *ServiceExportRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExportRule.
func (*ServiceExportRule) DeepCopyInto ¶
func (in *ServiceExportRule) DeepCopyInto(out *ServiceExportRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceExportSpec ¶
type ServiceExportSpec struct { // +optional // PathRewrite, it shares ONE rewrite rule for the same ServiceExport PathRewrite *PathRewrite `json:"pathRewrite,omitempty"` // +optional // Indicates if session sticky is enabled SessionSticky bool `json:"sessionSticky,omitempty"` // +optional // The LoadBalancer Type applied to the Ingress Rules those created by the ServiceExport LoadBalancer AlgoBalancer `json:"loadBalancer,omitempty"` // The paths for accessing the service via Ingress controller Rules []ServiceExportRule `json:"rules,omitempty"` // +optional // If empty, service is exported to all managed clusters. // If not empty, service is exported to specified clusters, // must be in format [region]/[zone]/[group]/[cluster] TargetClusters []string `json:"targetClusters,omitempty"` // +optional // The ServiceAccount associated with this service ServiceAccountName string `json:"serviceAccountName,omitempty"` }
ServiceExportSpec defines the desired state of ServiceExport
func (*ServiceExportSpec) DeepCopy ¶
func (in *ServiceExportSpec) DeepCopy() *ServiceExportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceExportSpec.
func (*ServiceExportSpec) DeepCopyInto ¶
func (in *ServiceExportSpec) DeepCopyInto(out *ServiceExportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 defines the observed state of ServiceExport
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"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServiceImportSpec `json:"spec,omitempty"` Status ServiceImportStatus `json:"status,omitempty"` }
ServiceImport is the Schema for the ServiceImports API +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
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 +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
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. // +optional IPs []string `json:"ips,omitempty"` // type defines the type of this service. // Must be ClusterSetIP or 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"` }
Target imported service's endpoint target.
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.
type TrafficTarget ¶
type TrafficTarget struct { // Format: [region]/[zone]/[group]/[cluster] ClusterKey string `json:"clusterKey"` // +optional Weight *int `json:"weight,omitempty"` }
TrafficTarget defines the load balancer traffic target
func (*TrafficTarget) DeepCopy ¶
func (in *TrafficTarget) DeepCopy() *TrafficTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficTarget.
func (*TrafficTarget) DeepCopyInto ¶
func (in *TrafficTarget) DeepCopyInto(out *TrafficTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.