Documentation ¶
Index ¶
- type IngressRateLimit
- func (*IngressRateLimit) Descriptor() ([]byte, []int)
- func (this *IngressRateLimit) Equal(that interface{}) bool
- func (m *IngressRateLimit) GetAnonymousLimits() *v1alpha1.RateLimit
- func (m *IngressRateLimit) GetAuthorizedLimits() *v1alpha1.RateLimit
- func (m *IngressRateLimit) Hash(hasher hash.Hash64) (uint64, error)
- func (*IngressRateLimit) ProtoMessage()
- func (m *IngressRateLimit) Reset()
- func (m *IngressRateLimit) String() string
- func (m *IngressRateLimit) XXX_DiscardUnknown()
- func (m *IngressRateLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *IngressRateLimit) XXX_Merge(src proto.Message)
- func (m *IngressRateLimit) XXX_Size() int
- func (m *IngressRateLimit) XXX_Unmarshal(b []byte) error
- type RateLimitConfigRef
- func (*RateLimitConfigRef) Descriptor() ([]byte, []int)
- func (this *RateLimitConfigRef) Equal(that interface{}) bool
- func (m *RateLimitConfigRef) GetName() string
- func (m *RateLimitConfigRef) GetNamespace() string
- func (m *RateLimitConfigRef) Hash(hasher hash.Hash64) (uint64, error)
- func (*RateLimitConfigRef) ProtoMessage()
- func (m *RateLimitConfigRef) Reset()
- func (m *RateLimitConfigRef) String() string
- func (m *RateLimitConfigRef) XXX_DiscardUnknown()
- func (m *RateLimitConfigRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RateLimitConfigRef) XXX_Merge(src proto.Message)
- func (m *RateLimitConfigRef) XXX_Size() int
- func (m *RateLimitConfigRef) XXX_Unmarshal(b []byte) error
- type RateLimitConfigRefs
- func (*RateLimitConfigRefs) Descriptor() ([]byte, []int)
- func (this *RateLimitConfigRefs) Equal(that interface{}) bool
- func (m *RateLimitConfigRefs) GetRefs() []*RateLimitConfigRef
- func (m *RateLimitConfigRefs) Hash(hasher hash.Hash64) (uint64, error)
- func (*RateLimitConfigRefs) ProtoMessage()
- func (m *RateLimitConfigRefs) Reset()
- func (m *RateLimitConfigRefs) String() string
- func (m *RateLimitConfigRefs) XXX_DiscardUnknown()
- func (m *RateLimitConfigRefs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RateLimitConfigRefs) XXX_Merge(src proto.Message)
- func (m *RateLimitConfigRefs) XXX_Size() int
- func (m *RateLimitConfigRefs) XXX_Unmarshal(b []byte) error
- type RateLimitRouteExtension
- func (*RateLimitRouteExtension) Descriptor() ([]byte, []int)
- func (this *RateLimitRouteExtension) Equal(that interface{}) bool
- func (m *RateLimitRouteExtension) GetIncludeVhRateLimits() bool
- func (m *RateLimitRouteExtension) GetRateLimits() []*v1alpha1.RateLimitActions
- func (m *RateLimitRouteExtension) Hash(hasher hash.Hash64) (uint64, error)
- func (*RateLimitRouteExtension) ProtoMessage()
- func (m *RateLimitRouteExtension) Reset()
- func (m *RateLimitRouteExtension) String() string
- func (m *RateLimitRouteExtension) XXX_DiscardUnknown()
- func (m *RateLimitRouteExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RateLimitRouteExtension) XXX_Merge(src proto.Message)
- func (m *RateLimitRouteExtension) XXX_Size() int
- func (m *RateLimitRouteExtension) XXX_Unmarshal(b []byte) error
- type RateLimitVhostExtension
- func (*RateLimitVhostExtension) Descriptor() ([]byte, []int)
- func (this *RateLimitVhostExtension) Equal(that interface{}) bool
- func (m *RateLimitVhostExtension) GetRateLimits() []*v1alpha1.RateLimitActions
- func (m *RateLimitVhostExtension) Hash(hasher hash.Hash64) (uint64, error)
- func (*RateLimitVhostExtension) ProtoMessage()
- func (m *RateLimitVhostExtension) Reset()
- func (m *RateLimitVhostExtension) String() string
- func (m *RateLimitVhostExtension) XXX_DiscardUnknown()
- func (m *RateLimitVhostExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RateLimitVhostExtension) XXX_Merge(src proto.Message)
- func (m *RateLimitVhostExtension) XXX_Size() int
- func (m *RateLimitVhostExtension) XXX_Unmarshal(b []byte) error
- type ServiceSettings
- func (*ServiceSettings) Descriptor() ([]byte, []int)
- func (this *ServiceSettings) Equal(that interface{}) bool
- func (m *ServiceSettings) GetDescriptors() []*v1alpha1.Descriptor
- func (m *ServiceSettings) Hash(hasher hash.Hash64) (uint64, error)
- func (*ServiceSettings) ProtoMessage()
- func (m *ServiceSettings) Reset()
- func (m *ServiceSettings) String() string
- func (m *ServiceSettings) XXX_DiscardUnknown()
- func (m *ServiceSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ServiceSettings) XXX_Merge(src proto.Message)
- func (m *ServiceSettings) XXX_Size() int
- func (m *ServiceSettings) XXX_Unmarshal(b []byte) error
- type Settings
- func (*Settings) Descriptor() ([]byte, []int)
- func (this *Settings) Equal(that interface{}) bool
- func (m *Settings) GetDenyOnFail() bool
- func (m *Settings) GetRateLimitBeforeAuth() bool
- func (m *Settings) GetRatelimitServerRef() *core.ResourceRef
- func (m *Settings) GetRequestTimeout() *time.Duration
- func (m *Settings) Hash(hasher hash.Hash64) (uint64, error)
- func (*Settings) ProtoMessage()
- func (m *Settings) Reset()
- func (m *Settings) String() string
- func (m *Settings) XXX_DiscardUnknown()
- func (m *Settings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Settings) XXX_Merge(src proto.Message)
- func (m *Settings) XXX_Size() int
- func (m *Settings) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IngressRateLimit ¶
type IngressRateLimit struct { AuthorizedLimits *v1alpha1.RateLimit `protobuf:"bytes,1,opt,name=authorized_limits,json=authorizedLimits,proto3" json:"authorized_limits,omitempty"` AnonymousLimits *v1alpha1.RateLimit `protobuf:"bytes,2,opt,name=anonymous_limits,json=anonymousLimits,proto3" json:"anonymous_limits,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Basic rate-limiting API
func (*IngressRateLimit) Descriptor ¶
func (*IngressRateLimit) Descriptor() ([]byte, []int)
func (*IngressRateLimit) Equal ¶
func (this *IngressRateLimit) Equal(that interface{}) bool
func (*IngressRateLimit) GetAnonymousLimits ¶
func (m *IngressRateLimit) GetAnonymousLimits() *v1alpha1.RateLimit
func (*IngressRateLimit) GetAuthorizedLimits ¶
func (m *IngressRateLimit) GetAuthorizedLimits() *v1alpha1.RateLimit
func (*IngressRateLimit) Hash ¶ added in v1.2.13
func (m *IngressRateLimit) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*IngressRateLimit) ProtoMessage ¶
func (*IngressRateLimit) ProtoMessage()
func (*IngressRateLimit) Reset ¶
func (m *IngressRateLimit) Reset()
func (*IngressRateLimit) String ¶
func (m *IngressRateLimit) String() string
func (*IngressRateLimit) XXX_DiscardUnknown ¶
func (m *IngressRateLimit) XXX_DiscardUnknown()
func (*IngressRateLimit) XXX_Marshal ¶
func (m *IngressRateLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*IngressRateLimit) XXX_Merge ¶
func (m *IngressRateLimit) XXX_Merge(src proto.Message)
func (*IngressRateLimit) XXX_Size ¶
func (m *IngressRateLimit) XXX_Size() int
func (*IngressRateLimit) XXX_Unmarshal ¶
func (m *IngressRateLimit) XXX_Unmarshal(b []byte) error
type RateLimitConfigRef ¶ added in v1.5.0
type RateLimitConfigRef struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
A reference to a `RateLimitConfig` resource.
func (*RateLimitConfigRef) Descriptor ¶ added in v1.5.0
func (*RateLimitConfigRef) Descriptor() ([]byte, []int)
func (*RateLimitConfigRef) Equal ¶ added in v1.5.0
func (this *RateLimitConfigRef) Equal(that interface{}) bool
func (*RateLimitConfigRef) GetName ¶ added in v1.5.0
func (m *RateLimitConfigRef) GetName() string
func (*RateLimitConfigRef) GetNamespace ¶ added in v1.5.0
func (m *RateLimitConfigRef) GetNamespace() string
func (*RateLimitConfigRef) Hash ¶ added in v1.5.0
func (m *RateLimitConfigRef) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*RateLimitConfigRef) ProtoMessage ¶ added in v1.5.0
func (*RateLimitConfigRef) ProtoMessage()
func (*RateLimitConfigRef) Reset ¶ added in v1.5.0
func (m *RateLimitConfigRef) Reset()
func (*RateLimitConfigRef) String ¶ added in v1.5.0
func (m *RateLimitConfigRef) String() string
func (*RateLimitConfigRef) XXX_DiscardUnknown ¶ added in v1.5.0
func (m *RateLimitConfigRef) XXX_DiscardUnknown()
func (*RateLimitConfigRef) XXX_Marshal ¶ added in v1.5.0
func (m *RateLimitConfigRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RateLimitConfigRef) XXX_Merge ¶ added in v1.5.0
func (m *RateLimitConfigRef) XXX_Merge(src proto.Message)
func (*RateLimitConfigRef) XXX_Size ¶ added in v1.5.0
func (m *RateLimitConfigRef) XXX_Size() int
func (*RateLimitConfigRef) XXX_Unmarshal ¶ added in v1.5.0
func (m *RateLimitConfigRef) XXX_Unmarshal(b []byte) error
type RateLimitConfigRefs ¶ added in v1.5.0
type RateLimitConfigRefs struct { Refs []*RateLimitConfigRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
A list of references to `RateLimitConfig` resources. Each resource represents a rate limit policy that will be independently enforced.
func (*RateLimitConfigRefs) Descriptor ¶ added in v1.5.0
func (*RateLimitConfigRefs) Descriptor() ([]byte, []int)
func (*RateLimitConfigRefs) Equal ¶ added in v1.5.0
func (this *RateLimitConfigRefs) Equal(that interface{}) bool
func (*RateLimitConfigRefs) GetRefs ¶ added in v1.5.0
func (m *RateLimitConfigRefs) GetRefs() []*RateLimitConfigRef
func (*RateLimitConfigRefs) Hash ¶ added in v1.5.0
func (m *RateLimitConfigRefs) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*RateLimitConfigRefs) ProtoMessage ¶ added in v1.5.0
func (*RateLimitConfigRefs) ProtoMessage()
func (*RateLimitConfigRefs) Reset ¶ added in v1.5.0
func (m *RateLimitConfigRefs) Reset()
func (*RateLimitConfigRefs) String ¶ added in v1.5.0
func (m *RateLimitConfigRefs) String() string
func (*RateLimitConfigRefs) XXX_DiscardUnknown ¶ added in v1.5.0
func (m *RateLimitConfigRefs) XXX_DiscardUnknown()
func (*RateLimitConfigRefs) XXX_Marshal ¶ added in v1.5.0
func (m *RateLimitConfigRefs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RateLimitConfigRefs) XXX_Merge ¶ added in v1.5.0
func (m *RateLimitConfigRefs) XXX_Merge(src proto.Message)
func (*RateLimitConfigRefs) XXX_Size ¶ added in v1.5.0
func (m *RateLimitConfigRefs) XXX_Size() int
func (*RateLimitConfigRefs) XXX_Unmarshal ¶ added in v1.5.0
func (m *RateLimitConfigRefs) XXX_Unmarshal(b []byte) error
type RateLimitRouteExtension ¶
type RateLimitRouteExtension struct { // Whether or not to include rate limits as defined on the VirtualHost in addition to rate limits on the Route. IncludeVhRateLimits bool `protobuf:"varint,1,opt,name=include_vh_rate_limits,json=includeVhRateLimits,proto3" json:"include_vh_rate_limits,omitempty"` // Define individual rate limits here. Each rate limit will be evaluated, if any rate limit // would be throttled, the entire request returns a 429 (gets throttled) RateLimits []*v1alpha1.RateLimitActions `protobuf:"bytes,2,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Use this field if you want to inline the Envoy rate limits for this Route. Note that this does not configure the rate limit server. If you are running Gloo Enterprise, you need to specify the server configuration via the appropriate field in the Gloo `Settings` resource. If you are running a custom rate limit server you need to configure it yourself.
func (*RateLimitRouteExtension) Descriptor ¶
func (*RateLimitRouteExtension) Descriptor() ([]byte, []int)
func (*RateLimitRouteExtension) Equal ¶
func (this *RateLimitRouteExtension) Equal(that interface{}) bool
func (*RateLimitRouteExtension) GetIncludeVhRateLimits ¶
func (m *RateLimitRouteExtension) GetIncludeVhRateLimits() bool
func (*RateLimitRouteExtension) GetRateLimits ¶
func (m *RateLimitRouteExtension) GetRateLimits() []*v1alpha1.RateLimitActions
func (*RateLimitRouteExtension) Hash ¶ added in v1.2.13
func (m *RateLimitRouteExtension) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*RateLimitRouteExtension) ProtoMessage ¶
func (*RateLimitRouteExtension) ProtoMessage()
func (*RateLimitRouteExtension) Reset ¶
func (m *RateLimitRouteExtension) Reset()
func (*RateLimitRouteExtension) String ¶
func (m *RateLimitRouteExtension) String() string
func (*RateLimitRouteExtension) XXX_DiscardUnknown ¶
func (m *RateLimitRouteExtension) XXX_DiscardUnknown()
func (*RateLimitRouteExtension) XXX_Marshal ¶
func (m *RateLimitRouteExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RateLimitRouteExtension) XXX_Merge ¶
func (m *RateLimitRouteExtension) XXX_Merge(src proto.Message)
func (*RateLimitRouteExtension) XXX_Size ¶
func (m *RateLimitRouteExtension) XXX_Size() int
func (*RateLimitRouteExtension) XXX_Unmarshal ¶
func (m *RateLimitRouteExtension) XXX_Unmarshal(b []byte) error
type RateLimitVhostExtension ¶
type RateLimitVhostExtension struct { // Define individual rate limits here. Each rate limit will be evaluated, if any rate limit // would be throttled, the entire request returns a 429 (gets throttled) RateLimits []*v1alpha1.RateLimitActions `protobuf:"bytes,1,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Use this field if you want to inline the Envoy rate limits for this VirtualHost. Note that this does not configure the rate limit server. If you are running Gloo Enterprise, you need to specify the server configuration via the appropriate field in the Gloo `Settings` resource. If you are running a custom rate limit server you need to configure it yourself.
func (*RateLimitVhostExtension) Descriptor ¶
func (*RateLimitVhostExtension) Descriptor() ([]byte, []int)
func (*RateLimitVhostExtension) Equal ¶
func (this *RateLimitVhostExtension) Equal(that interface{}) bool
func (*RateLimitVhostExtension) GetRateLimits ¶
func (m *RateLimitVhostExtension) GetRateLimits() []*v1alpha1.RateLimitActions
func (*RateLimitVhostExtension) Hash ¶ added in v1.2.13
func (m *RateLimitVhostExtension) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*RateLimitVhostExtension) ProtoMessage ¶
func (*RateLimitVhostExtension) ProtoMessage()
func (*RateLimitVhostExtension) Reset ¶
func (m *RateLimitVhostExtension) Reset()
func (*RateLimitVhostExtension) String ¶
func (m *RateLimitVhostExtension) String() string
func (*RateLimitVhostExtension) XXX_DiscardUnknown ¶
func (m *RateLimitVhostExtension) XXX_DiscardUnknown()
func (*RateLimitVhostExtension) XXX_Marshal ¶
func (m *RateLimitVhostExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RateLimitVhostExtension) XXX_Merge ¶
func (m *RateLimitVhostExtension) XXX_Merge(src proto.Message)
func (*RateLimitVhostExtension) XXX_Size ¶
func (m *RateLimitVhostExtension) XXX_Size() int
func (*RateLimitVhostExtension) XXX_Unmarshal ¶
func (m *RateLimitVhostExtension) XXX_Unmarshal(b []byte) error
type ServiceSettings ¶
type ServiceSettings struct { Descriptors []*v1alpha1.Descriptor `protobuf:"bytes,1,rep,name=descriptors,proto3" json:"descriptors,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
API based on Envoy's rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration) Sample configuration below:
descriptors:
- key: account_id descriptors:
- key: plan value: BASIC rateLimit: requestsPerUnit: 1 unit: MINUTE
- key: plan value: PLUS rateLimit: requestsPerUnit: 20 unit: MINUTE
func (*ServiceSettings) Descriptor ¶
func (*ServiceSettings) Descriptor() ([]byte, []int)
func (*ServiceSettings) Equal ¶
func (this *ServiceSettings) Equal(that interface{}) bool
func (*ServiceSettings) GetDescriptors ¶
func (m *ServiceSettings) GetDescriptors() []*v1alpha1.Descriptor
func (*ServiceSettings) Hash ¶ added in v1.2.13
func (m *ServiceSettings) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*ServiceSettings) ProtoMessage ¶
func (*ServiceSettings) ProtoMessage()
func (*ServiceSettings) Reset ¶
func (m *ServiceSettings) Reset()
func (*ServiceSettings) String ¶
func (m *ServiceSettings) String() string
func (*ServiceSettings) XXX_DiscardUnknown ¶
func (m *ServiceSettings) XXX_DiscardUnknown()
func (*ServiceSettings) XXX_Marshal ¶
func (m *ServiceSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ServiceSettings) XXX_Merge ¶
func (m *ServiceSettings) XXX_Merge(src proto.Message)
func (*ServiceSettings) XXX_Size ¶
func (m *ServiceSettings) XXX_Size() int
func (*ServiceSettings) XXX_Unmarshal ¶
func (m *ServiceSettings) XXX_Unmarshal(b []byte) error
type Settings ¶
type Settings struct { RatelimitServerRef *core.ResourceRef `protobuf:"bytes,1,opt,name=ratelimit_server_ref,json=ratelimitServerRef,proto3" json:"ratelimit_server_ref,omitempty"` RequestTimeout *time.Duration `protobuf:"bytes,2,opt,name=request_timeout,json=requestTimeout,proto3,stdduration" json:"request_timeout,omitempty"` DenyOnFail bool `protobuf:"varint,3,opt,name=deny_on_fail,json=denyOnFail,proto3" json:"deny_on_fail,omitempty"` // Set this is set to true if you would like to rate limit traffic before applying external auth to it. // *Note*: When this is true, you will lose some features like being able to rate limit a request based on its auth state RateLimitBeforeAuth bool `protobuf:"varint,9,opt,name=rate_limit_before_auth,json=rateLimitBeforeAuth,proto3" json:"rate_limit_before_auth,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Settings) Descriptor ¶
func (*Settings) GetDenyOnFail ¶
func (*Settings) GetRateLimitBeforeAuth ¶
func (*Settings) GetRatelimitServerRef ¶
func (m *Settings) GetRatelimitServerRef() *core.ResourceRef
func (*Settings) GetRequestTimeout ¶
func (*Settings) ProtoMessage ¶
func (*Settings) ProtoMessage()
func (*Settings) XXX_DiscardUnknown ¶
func (m *Settings) XXX_DiscardUnknown()