Documentation

Overview

    resourcequota enforces all incoming requests against any applied quota in the namespace context of the request

    Index

    Constants

    View Source
    const PluginName = "ResourceQuota"

    Variables

    This section is empty.

    Functions

    func CheckRequest

      CheckRequest is a static version of quotaEvaluator.checkRequest, possible to be called from outside.

      func IsDefaultDeny

      func IsDefaultDeny(err error) bool

        IsDefaultDeny returns true if the error is defaultDeny

        func LoadConfiguration

        func LoadConfiguration(config io.Reader) (*resourcequotaapi.Configuration, error)

          LoadConfiguration loads the provided configuration.

          func Register

          func Register(plugins *admission.Plugins)

            Register registers a plugin

            Types

            type Evaluator

            type Evaluator interface {
            	// Evaluate takes an operation and checks to see if quota constraints are satisfied.  It returns an error if they are not.
            	// The default implementation process related operations in chunks when possible.
            	Evaluate(a admission.Attributes) error
            }

              Evaluator is used to see if quota constraints are satisfied.

              func NewQuotaEvaluator

              func NewQuotaEvaluator(quotaAccessor QuotaAccessor, ignoredResources map[schema.GroupResource]struct{}, quotaRegistry quota.Registry, lockAcquisitionFunc func([]corev1.ResourceQuota) func(), config *resourcequotaapi.Configuration, workers int, stopCh <-chan struct{}) Evaluator

                NewQuotaEvaluator configures an admission controller that can enforce quota constraints using the provided registry. The registry must have the capability to handle group/kinds that are persisted by the server this admission controller is intercepting

                type QuotaAccessor

                type QuotaAccessor interface {
                	// UpdateQuotaStatus is called to persist final status.  This method should write to persistent storage.
                	// An error indicates that write didn't complete successfully.
                	UpdateQuotaStatus(newQuota *corev1.ResourceQuota) error
                
                	// GetQuotas gets all possible quotas for a given namespace
                	GetQuotas(namespace string) ([]corev1.ResourceQuota, error)
                }

                  QuotaAccessor abstracts the get/set logic from the rest of the Evaluator. This could be a test stub, a straight passthrough, or most commonly a series of deconflicting caches.

                  type QuotaAdmission

                  type QuotaAdmission struct {
                  	*admission.Handler
                  	// contains filtered or unexported fields
                  }

                    QuotaAdmission implements an admission controller that can enforce quota constraints

                    func NewResourceQuota

                    func NewResourceQuota(config *resourcequotaapi.Configuration, numEvaluators int, stopCh <-chan struct{}) (*QuotaAdmission, error)

                      NewResourceQuota configures an admission controller that can enforce quota constraints using the provided registry. The registry must have the capability to handle group/kinds that are persisted by the server this admission controller is intercepting

                      func (*QuotaAdmission) SetExternalKubeClientSet

                      func (a *QuotaAdmission) SetExternalKubeClientSet(client kubernetes.Interface)

                      func (*QuotaAdmission) SetExternalKubeInformerFactory

                      func (a *QuotaAdmission) SetExternalKubeInformerFactory(f informers.SharedInformerFactory)

                      func (*QuotaAdmission) SetQuotaConfiguration

                      func (a *QuotaAdmission) SetQuotaConfiguration(c quota.Configuration)

                      func (*QuotaAdmission) Validate

                        Validate makes admission decisions while enforcing quota

                        func (*QuotaAdmission) ValidateInitialization

                        func (a *QuotaAdmission) ValidateInitialization() error

                          ValidateInitialization ensures an authorizer is set.

                          Directories

                          Path Synopsis
                          apis
                          resourcequota/install
                          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.
                          resourcequota/v1alpha1
                          Package v1alpha1 is the v1alpha1 version of the API.
                          Package v1alpha1 is the v1alpha1 version of the API.
                          resourcequota/v1beta1
                          Package v1beta1 is the v1beta1 version of the API.
                          Package v1beta1 is the v1beta1 version of the API.