Documentation ¶
Index ¶
Constants ¶
const GroupName = "eventratelimit.admission.k8s.io"
GroupName is the group name use in this package
Variables ¶
var ( // SchemeBuilder is the scheme builder with scheme init functions to run for this API package SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Configuration ¶
type Configuration struct { metav1.TypeMeta `json:",inline"` // limits are the limits to place on event queries received. // Limits can be placed on events received server-wide, per namespace, // per user, and per source+object. // At least one limit is required. Limits []Limit `json:"limits"` }
Configuration provides configuration for the EventRateLimit admission controller.
func (*Configuration) DeepCopy ¶
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶
func (in *Configuration) DeepCopyInto(out *Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Configuration) DeepCopyObject ¶
func (in *Configuration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Limit ¶
type Limit struct { // type is the type of limit to which this configuration applies Type LimitType `json:"type"` // qps is the number of event queries per second that are allowed for this // type of limit. The qps and burst fields are used together to determine if // a particular event query is accepted. The qps determines how many queries // are accepted once the burst amount of queries has been exhausted. QPS int32 `json:"qps"` // burst is the burst number of event queries that are allowed for this type // of limit. The qps and burst fields are used together to determine if a // particular event query is accepted. The burst determines the maximum size // of the allowance granted for a particular bucket. For example, if the burst // is 10 and the qps is 3, then the admission control will accept 10 queries // before blocking any queries. Every second, 3 more queries will be allowed. // If some of that allowance is not used, then it will roll over to the next // second, until the maximum allowance of 10 is reached. Burst int32 `json:"burst"` // cacheSize is the size of the LRU cache for this type of limit. If a bucket // is evicted from the cache, then the allowance for that bucket is reset. If // more queries are later received for an evicted bucket, then that bucket // will re-enter the cache with a clean slate, giving that bucket a full // allowance of burst queries. // // The default cache size is 4096. // // If limitType is 'server', then cacheSize is ignored. // +optional CacheSize int32 `json:"cacheSize,omitempty"` }
Limit is the configuration for a particular limit type
func (*Limit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Limit.
func (*Limit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LimitType ¶
type LimitType string
LimitType is the type of the limit (e.g., per-namespace)
const ( // ServerLimitType is a type of limit where there is one bucket shared by // all of the event queries received by the API Server. ServerLimitType LimitType = "Server" // NamespaceLimitType is a type of limit where there is one bucket used by // each namespace NamespaceLimitType LimitType = "Namespace" // UserLimitType is a type of limit where there is one bucket used by each // user UserLimitType LimitType = "User" // SourceAndObjectLimitType is a type of limit where there is one bucket used // by each combination of source and involved object of the event. SourceAndObjectLimitType LimitType = "SourceAndObject" )
Directories ¶
Path | Synopsis |
---|---|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery. |
Package v1alpha1 is the v1alpha1 version of the API.
|
Package v1alpha1 is the v1alpha1 version of the API. |