v1alpha1

package
v1.5.0-alpha.5 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

View Source
const GroupName = "traffic.flomesh.io"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Deprecated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type HTTPMatch

type HTTPMatch struct {
	// Name is the name of the match for referencing in a TrafficTarget
	Name string `json:"name,omitempty"`

	// Methods for inbound traffic as defined in RFC 7231
	// https://tools.ietf.org/html/rfc7231#section-4
	Methods []string `json:"methods,omitempty"`

	// PathRegex is a regular expression defining the route
	PathRegex string `json:"pathRegex,omitempty"`

	// Headers is a list of headers used to match HTTP traffic
	Headers httpHeaders `json:"headers,omitempty"`
}

HTTPMatch defines an individual route for HTTP traffic

func (*HTTPMatch) DeepCopy

func (in *HTTPMatch) DeepCopy() *HTTPMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPMatch.

func (*HTTPMatch) DeepCopyInto

func (in *HTTPMatch) DeepCopyInto(out *HTTPMatch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPTrafficMethod

type HTTPTrafficMethod string

HTTPTrafficMethod are methods allowed by the route

const (
	// HTTPTrafficMethodAll is a wildcard for all HTTP methods
	HTTPTrafficMethodAll HTTPTrafficMethod = "*"
	// HTTPTrafficMethodGet HTTP GET method
	HTTPTrafficMethodGet HTTPTrafficMethod = "GET"
	// HTTPTrafficMethodHead HTTP HEAD method
	HTTPTrafficMethodHead HTTPTrafficMethod = "HEAD"
	// HTTPTrafficMethodPut HTTP PUT method
	HTTPTrafficMethodPut HTTPTrafficMethod = "PUT"
	// HTTPTrafficMethodPost HTTP POST method
	HTTPTrafficMethodPost HTTPTrafficMethod = "POST"
	// HTTPTrafficMethodDelete HTTP DELETE method
	HTTPTrafficMethodDelete HTTPTrafficMethod = "DELETE"
	// HTTPTrafficMethodConnect HTTP CONNECT method
	HTTPTrafficMethodConnect HTTPTrafficMethod = "CONNECT"
	// HTTPTrafficMethodOptions HTTP OPTIONS method
	HTTPTrafficMethodOptions HTTPTrafficMethod = "OPTIONS"
	// HTTPTrafficMethodTrace HTTP TRACE method
	HTTPTrafficMethodTrace HTTPTrafficMethod = "TRACE"
	// HTTPTrafficMethodPatch HTTP PATCH method
	HTTPTrafficMethodPatch HTTPTrafficMethod = "PATCH"
)

type HTTPTrafficRule

type HTTPTrafficRule struct {
	metav1.TypeMeta `json:",inline"`

	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec HTTPTrafficRuleSpec `json:"spec"`

	// Status defines the current state of HTTPTrafficRule.
	Status HTTPTrafficRuleStatus `json:"status,omitempty"`
}

HTTPTrafficRule is used to describe HTTP/1 and HTTP/2 traffic. It enumerates the routes that can be served by an application.

func (*HTTPTrafficRule) DeepCopy

func (in *HTTPTrafficRule) DeepCopy() *HTTPTrafficRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTrafficRule.

func (*HTTPTrafficRule) DeepCopyInto

func (in *HTTPTrafficRule) DeepCopyInto(out *HTTPTrafficRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPTrafficRule) DeepCopyObject

func (in *HTTPTrafficRule) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HTTPTrafficRuleList

type HTTPTrafficRuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []HTTPTrafficRule `json:"items"`
}

HTTPTrafficRuleList satisfy K8s code gen requirements

func (*HTTPTrafficRuleList) DeepCopy

func (in *HTTPTrafficRuleList) DeepCopy() *HTTPTrafficRuleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTrafficRuleList.

func (*HTTPTrafficRuleList) DeepCopyInto

func (in *HTTPTrafficRuleList) DeepCopyInto(out *HTTPTrafficRuleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPTrafficRuleList) DeepCopyObject

func (in *HTTPTrafficRuleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HTTPTrafficRuleSpec

type HTTPTrafficRuleSpec struct {
	// Routes for inbound traffic
	Matches []HTTPMatch `json:"matches,omitempty"`
}

HTTPTrafficRuleSpec is the specification for a HTTPTrafficRule

func (*HTTPTrafficRuleSpec) DeepCopy

func (in *HTTPTrafficRuleSpec) DeepCopy() *HTTPTrafficRuleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTrafficRuleSpec.

func (*HTTPTrafficRuleSpec) DeepCopyInto

func (in *HTTPTrafficRuleSpec) DeepCopyInto(out *HTTPTrafficRuleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPTrafficRuleStatus

type HTTPTrafficRuleStatus struct {
	// Conditions describes the status of the HTTPTrafficRule with respect to the given Ancestor.
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

HTTPTrafficRuleStatus defines the common attributes that all filters should include within their status.

func (*HTTPTrafficRuleStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTrafficRuleStatus.

func (*HTTPTrafficRuleStatus) DeepCopyInto

func (in *HTTPTrafficRuleStatus) DeepCopyInto(out *HTTPTrafficRuleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficSplit

type TrafficSplit struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the traffic split.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
	// +optional
	Spec TrafficSplitSpec `json:"spec,omitempty"`

	// Status defines the current state of TrafficSplit.
	Status TrafficSplitStatus `json:"status,omitempty"`
}

TrafficSplit allows users to incrementally direct percentages of traffic between various services. It will be used by clients such as ingress controllers or service mesh sidecars to split the outgoing traffic to different destinations.

func (*TrafficSplit) DeepCopy

func (in *TrafficSplit) DeepCopy() *TrafficSplit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplit.

func (*TrafficSplit) DeepCopyInto

func (in *TrafficSplit) DeepCopyInto(out *TrafficSplit)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TrafficSplit) DeepCopyObject

func (in *TrafficSplit) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TrafficSplitBackend

type TrafficSplitBackend struct {
	// Service is the name of a Kubernetes service
	Service string `json:"service"`

	// Weight defines the traffic split percentage
	Weight int `json:"weight"`
}

TrafficSplitBackend defines a backend

func (*TrafficSplitBackend) DeepCopy

func (in *TrafficSplitBackend) DeepCopy() *TrafficSplitBackend

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplitBackend.

func (*TrafficSplitBackend) DeepCopyInto

func (in *TrafficSplitBackend) DeepCopyInto(out *TrafficSplitBackend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficSplitList

type TrafficSplitList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []TrafficSplit `json:"items"`
}

func (*TrafficSplitList) DeepCopy

func (in *TrafficSplitList) DeepCopy() *TrafficSplitList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplitList.

func (*TrafficSplitList) DeepCopyInto

func (in *TrafficSplitList) DeepCopyInto(out *TrafficSplitList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TrafficSplitList) DeepCopyObject

func (in *TrafficSplitList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TrafficSplitSpec

type TrafficSplitSpec struct {
	// Service represents the apex service
	Service string `json:"service"`

	// Backends defines a list of Kubernetes services
	// used as the traffic split destination
	Backends []TrafficSplitBackend `json:"backends"`

	// Matches allows defining a list of HTTP route groups
	// that this traffic split object should match
	// +optional
	Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"`
}

TrafficSplitSpec is the specification for a TrafficSplit

func (*TrafficSplitSpec) DeepCopy

func (in *TrafficSplitSpec) DeepCopy() *TrafficSplitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplitSpec.

func (*TrafficSplitSpec) DeepCopyInto

func (in *TrafficSplitSpec) DeepCopyInto(out *TrafficSplitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficSplitStatus

type TrafficSplitStatus struct {
	// Conditions describes the status of the TrafficSplit with respect to the given Ancestor.
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TrafficSplitStatus defines the common attributes that all filters should include within their status.

func (*TrafficSplitStatus) DeepCopy

func (in *TrafficSplitStatus) DeepCopy() *TrafficSplitStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSplitStatus.

func (*TrafficSplitStatus) DeepCopyInto

func (in *TrafficSplitStatus) DeepCopyInto(out *TrafficSplitStatus)

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