Documentation

Overview

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

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    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 NewResourceQuota

        func NewResourceQuota(config *resourcequotaapi.Configuration, numEvaluators int, stopCh <-chan struct{}) (admission.Interface, 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 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, registry quota.Registry, lockAcquisitionFunc func([]api.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 *api.ResourceQuota) error
                
                	// GetQuotas gets all possible quotas for a given namespace
                	GetQuotas(namespace string) ([]api.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.

                  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.