kubernetes: k8s.io/kubernetes/plugin/pkg/admission/eventratelimit/apis/eventratelimit Index | Files | Directories

package eventratelimit

import "k8s.io/kubernetes/plugin/pkg/admission/eventratelimit/apis/eventratelimit"

Index

Package Files

doc.go register.go types.go zz_generated.deepcopy.go

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 used to register the types to API encoding/decoding machinery
    AddToScheme = SchemeBuilder.AddToScheme
)
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

func Kind Uses

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource Uses

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

type Configuration Uses

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 Uses

func (in *Configuration) DeepCopy() *Configuration

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

func (*Configuration) DeepCopyInto Uses

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 Uses

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

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

type Limit Uses

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 Uses

func (in *Limit) DeepCopy() *Limit

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

func (*Limit) DeepCopyInto Uses

func (in *Limit) DeepCopyInto(out *Limit)

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

type LimitType Uses

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

PathSynopsis
installPackage install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
v1alpha1Package v1alpha1 is the v1alpha1 version of the API.
validation

Package eventratelimit imports 3 packages (graph) and is imported by 4 packages. Updated 2019-06-18. Refresh now. Tools for package owners.