Documentation
¶
Overview ¶
Package v1alpha2 defines and implements Nginx Service Mesh APIs
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeBuilder collects functions that add things to a scheme. It's to allow // code to compile without explicitly referencing generated types. You should // declare one in each package that will have generated deep copy or conversion // functions. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme applies all the stored functions to the scheme. A non-nil error // indicates that one function failed and the attempt was abandoned. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{ Group: specs.GroupName, Version: "v1alpha2", }
SchemeGroupVersion is the identifier for the API which includes the name of the group and the version of the API.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type RateLimit ¶
type RateLimit 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 defines the limit set on traffic between the specified resources
Spec RateLimitSpec `json:"spec"`
}
RateLimit creates a maximum flow rate between resources. This can include:
Deployments Services
func (*RateLimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.
func (*RateLimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimit) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitList ¶
type RateLimitList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []RateLimit `json:"items"`
}
RateLimitList satisfies K8s code gen requirements.
func (*RateLimitList) DeepCopy ¶
func (in *RateLimitList) DeepCopy() *RateLimitList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitList.
func (*RateLimitList) DeepCopyInto ¶
func (in *RateLimitList) DeepCopyInto(out *RateLimitList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitList) DeepCopyObject ¶
func (in *RateLimitList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitRule ¶
type RateLimitRule struct {
// Kind is the kind of TrafficSpec to allow.
Kind string `json:"kind"`
// Name of the TrafficSpec to use.
Name string `json:"name"`
// Matches is a list of TrafficSpec routes that are applied to the Rate Limit object.
// +optional
Matches []string `json:"matches,omitempty"`
}
RateLimitRule is the TrafficSpec that applies to a Rate Limit.
func (*RateLimitRule) DeepCopy ¶
func (in *RateLimitRule) DeepCopy() *RateLimitRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitRule.
func (*RateLimitRule) DeepCopyInto ¶
func (in *RateLimitRule) DeepCopyInto(out *RateLimitRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitSpec ¶
type RateLimitSpec struct {
// Delay sets the amount a request will be delayed (in seconds) when the rate
// limit is hit. Set to "nodelay" to send back an 503 status immediately
Delay *intstr.IntOrString `json:"delay,omitempty"`
// Destination is the resource to which traffic should be rate limited
Destination v1.ObjectReference `json:"destination"`
// Name of Rate Limit, i.e. 10rs
Name string `json:"name"`
// Maximum allowed rate of traffic
Rate string `json:"rate"`
// Sources defines from where traffic should be limited
// +optional
Sources []v1.ObjectReference `json:"sources,omitempty"`
// Rules allows defining a list of HTTP Route Groups that this rate limit
// object should match.
// +optional
Rules []RateLimitRule `json:"rules,omitempty"`
// Burst sets the maximum number of requests a client can make in excess of rate
// see: https://www.nginx.com/blog/rate-limiting-nginx/#bursts
// +optional
Burst int `json:"burst,omitempty"`
}
RateLimitSpec defines the limit spec that restricts the flow of traffic.
func (*RateLimitSpec) DeepCopy ¶
func (in *RateLimitSpec) DeepCopy() *RateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitSpec.
func (*RateLimitSpec) DeepCopyInto ¶
func (in *RateLimitSpec) DeepCopyInto(out *RateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.