Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=eventratelimit.admission.k8s.io
Index ¶
- Constants
- Variables
- func Convert_eventratelimit_Configuration_To_v1alpha1_Configuration(in *eventratelimit.Configuration, out *Configuration, s conversion.Scope) error
- func Convert_eventratelimit_Limit_To_v1alpha1_Limit(in *eventratelimit.Limit, out *Limit, s conversion.Scope) error
- func Convert_v1alpha1_Configuration_To_eventratelimit_Configuration(in *Configuration, out *eventratelimit.Configuration, s conversion.Scope) error
- func Convert_v1alpha1_Limit_To_eventratelimit_Limit(in *Limit, out *eventratelimit.Limit, s conversion.Scope) error
- func RegisterConversions(s *runtime.Scheme) error
- func RegisterDefaults(scheme *runtime.Scheme) error
- func SetDefaults_Configuration(obj *Configuration)
- func SetObjectDefaults_Configuration(in *Configuration)
- type Configuration
- type Limit
- type LimitType
Constants ¶
const GroupName = "eventratelimit.admission.k8s.io"
GroupName is the group name use in this package
Variables ¶
var ( // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Convert_eventratelimit_Configuration_To_v1alpha1_Configuration ¶
func Convert_eventratelimit_Configuration_To_v1alpha1_Configuration(in *eventratelimit.Configuration, out *Configuration, s conversion.Scope) error
Convert_eventratelimit_Configuration_To_v1alpha1_Configuration is an autogenerated conversion function.
func Convert_eventratelimit_Limit_To_v1alpha1_Limit ¶
func Convert_eventratelimit_Limit_To_v1alpha1_Limit(in *eventratelimit.Limit, out *Limit, s conversion.Scope) error
Convert_eventratelimit_Limit_To_v1alpha1_Limit is an autogenerated conversion function.
func Convert_v1alpha1_Configuration_To_eventratelimit_Configuration ¶
func Convert_v1alpha1_Configuration_To_eventratelimit_Configuration(in *Configuration, out *eventratelimit.Configuration, s conversion.Scope) error
Convert_v1alpha1_Configuration_To_eventratelimit_Configuration is an autogenerated conversion function.
func Convert_v1alpha1_Limit_To_eventratelimit_Limit ¶
func Convert_v1alpha1_Limit_To_eventratelimit_Limit(in *Limit, out *eventratelimit.Limit, s conversion.Scope) error
Convert_v1alpha1_Limit_To_eventratelimit_Limit is an autogenerated conversion function.
func RegisterConversions ¶
RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func SetDefaults_Configuration ¶
func SetDefaults_Configuration(obj *Configuration)
func SetObjectDefaults_Configuration ¶
func SetObjectDefaults_Configuration(in *Configuration)
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" )