v1alpha1

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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 Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back 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 PathRewrite

type PathRewrite struct {
	From string `json:"from,omitempty"`
	To   string `json:"to,omitempty"`
}

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

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

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"`

	// +kubebuilder:validation:Enum=Exact;Prefix
	PathType *networkingv1.PathType `json:"pathType"`
}

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"`

	// +kubebuilder:default=RoundRobinLoadBalancer
	// +kubebuilder:validation:Enum=RoundRobinLoadBalancer;HashingLoadBalancer;LeastWorkLoadBalancer
	// +optional
	// The LoadBalancer Type applied to the Ingress Rules those created by the ServiceExport
	LoadBalancer route.AlgoBalancer `json:"loadBalancer,omitempty"`

	// +kubebuilder:validation:MinItems=1
	// 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.

Jump to

Keyboard shortcuts

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