Documentation
¶
Index ¶
- Constants
- Variables
- type AdmissionControl
- func (x *AdmissionControl) ClearAggression()
- func (x *AdmissionControl) ClearEnabled()
- func (x *AdmissionControl) ClearEvaluationCriteria()
- func (x *AdmissionControl) ClearMaxRejectionProbability()
- func (x *AdmissionControl) ClearRpsThreshold()
- func (x *AdmissionControl) ClearSamplingWindow()
- func (x *AdmissionControl) ClearSrThreshold()
- func (x *AdmissionControl) ClearSuccessCriteria()
- func (x *AdmissionControl) GetAggression() *v3.RuntimeDouble
- func (x *AdmissionControl) GetEnabled() *v3.RuntimeFeatureFlag
- func (x *AdmissionControl) GetEvaluationCriteria() isAdmissionControl_EvaluationCriteria
- func (x *AdmissionControl) GetMaxRejectionProbability() *v3.RuntimePercent
- func (x *AdmissionControl) GetRpsThreshold() *v3.RuntimeUInt32
- func (x *AdmissionControl) GetSamplingWindow() *durationpb.Duration
- func (x *AdmissionControl) GetSrThreshold() *v3.RuntimePercent
- func (x *AdmissionControl) GetSuccessCriteria() *AdmissionControl_SuccessCriteria
- func (x *AdmissionControl) HasAggression() bool
- func (x *AdmissionControl) HasEnabled() bool
- func (x *AdmissionControl) HasEvaluationCriteria() bool
- func (x *AdmissionControl) HasMaxRejectionProbability() bool
- func (x *AdmissionControl) HasRpsThreshold() bool
- func (x *AdmissionControl) HasSamplingWindow() bool
- func (x *AdmissionControl) HasSrThreshold() bool
- func (x *AdmissionControl) HasSuccessCriteria() bool
- func (*AdmissionControl) ProtoMessage()
- func (x *AdmissionControl) ProtoReflect() protoreflect.Message
- func (x *AdmissionControl) Reset()
- func (x *AdmissionControl) SetAggression(v *v3.RuntimeDouble)
- func (x *AdmissionControl) SetEnabled(v *v3.RuntimeFeatureFlag)
- func (x *AdmissionControl) SetMaxRejectionProbability(v *v3.RuntimePercent)
- func (x *AdmissionControl) SetRpsThreshold(v *v3.RuntimeUInt32)
- func (x *AdmissionControl) SetSamplingWindow(v *durationpb.Duration)
- func (x *AdmissionControl) SetSrThreshold(v *v3.RuntimePercent)
- func (x *AdmissionControl) SetSuccessCriteria(v *AdmissionControl_SuccessCriteria)
- func (x *AdmissionControl) String() string
- func (x *AdmissionControl) WhichEvaluationCriteria() case_AdmissionControl_EvaluationCriteria
- type AdmissionControl_SuccessCriteria
- func (x *AdmissionControl_SuccessCriteria) ClearGrpcCriteria()
- func (x *AdmissionControl_SuccessCriteria) ClearHttpCriteria()
- func (x *AdmissionControl_SuccessCriteria) GetGrpcCriteria() *AdmissionControl_SuccessCriteria_GrpcCriteria
- func (x *AdmissionControl_SuccessCriteria) GetHttpCriteria() *AdmissionControl_SuccessCriteria_HttpCriteria
- func (x *AdmissionControl_SuccessCriteria) HasGrpcCriteria() bool
- func (x *AdmissionControl_SuccessCriteria) HasHttpCriteria() bool
- func (*AdmissionControl_SuccessCriteria) ProtoMessage()
- func (x *AdmissionControl_SuccessCriteria) ProtoReflect() protoreflect.Message
- func (x *AdmissionControl_SuccessCriteria) Reset()
- func (x *AdmissionControl_SuccessCriteria) SetGrpcCriteria(v *AdmissionControl_SuccessCriteria_GrpcCriteria)
- func (x *AdmissionControl_SuccessCriteria) SetHttpCriteria(v *AdmissionControl_SuccessCriteria_HttpCriteria)
- func (x *AdmissionControl_SuccessCriteria) String() string
- type AdmissionControl_SuccessCriteria_
- type AdmissionControl_SuccessCriteria_GrpcCriteria
- func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) GetGrpcSuccessStatus() []uint32
- func (*AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoMessage()
- func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoReflect() protoreflect.Message
- func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) Reset()
- func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) SetGrpcSuccessStatus(v []uint32)
- func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) String() string
- type AdmissionControl_SuccessCriteria_GrpcCriteria_builder
- type AdmissionControl_SuccessCriteria_HttpCriteria
- func (x *AdmissionControl_SuccessCriteria_HttpCriteria) GetHttpSuccessStatus() []*v31.Int32Range
- func (*AdmissionControl_SuccessCriteria_HttpCriteria) ProtoMessage()
- func (x *AdmissionControl_SuccessCriteria_HttpCriteria) ProtoReflect() protoreflect.Message
- func (x *AdmissionControl_SuccessCriteria_HttpCriteria) Reset()
- func (x *AdmissionControl_SuccessCriteria_HttpCriteria) SetHttpSuccessStatus(v []*v31.Int32Range)
- func (x *AdmissionControl_SuccessCriteria_HttpCriteria) String() string
- type AdmissionControl_SuccessCriteria_HttpCriteria_builder
- type AdmissionControl_SuccessCriteria_builder
- type AdmissionControl_builder
Constants ¶
View Source
const AdmissionControl_EvaluationCriteria_not_set_case case_AdmissionControl_EvaluationCriteria = 0
View Source
const AdmissionControl_SuccessCriteria_case case_AdmissionControl_EvaluationCriteria = 2
Variables ¶
View Source
var File_envoy_extensions_filters_http_admission_control_v3_admission_control_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type AdmissionControl ¶
type AdmissionControl struct {
// If set to false, the admission control filter will operate as a pass-through filter. If the
// message is unspecified, the filter will be enabled.
Enabled *v3.RuntimeFeatureFlag `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
// Defines how a request is considered a success/failure.
//
// Types that are valid to be assigned to EvaluationCriteria:
//
// *AdmissionControl_SuccessCriteria_
EvaluationCriteria isAdmissionControl_EvaluationCriteria `protobuf_oneof:"evaluation_criteria"`
// The sliding time window over which the success rate is calculated. The window is rounded to the
// nearest second. Defaults to 30s.
SamplingWindow *durationpb.Duration `protobuf:"bytes,3,opt,name=sampling_window,json=samplingWindow,proto3" json:"sampling_window,omitempty"`
// Rejection probability is defined by the formula::
//
// max(0, (rq_count - rq_success_count / sr_threshold) / (rq_count + 1)) ^ (1 / aggression)
//
// The aggression dictates how heavily the admission controller will throttle requests upon SR
// dropping at or below the threshold. A value of 1 will result in a linear increase in
// rejection probability as SR drops. Any values less than 1.0, will be set to 1.0. If the
// message is unspecified, the aggression is 1.0. See `the admission control documentation
// <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/admission_control_filter.html>`_
// for a diagram illustrating this.
Aggression *v3.RuntimeDouble `protobuf:"bytes,4,opt,name=aggression,proto3" json:"aggression,omitempty"`
// Dictates the success rate at which the rejection probability is non-zero. As success rate drops
// below this threshold, rejection probability will increase. Any success rate above the threshold
// results in a rejection probability of 0. Defaults to 95%.
SrThreshold *v3.RuntimePercent `protobuf:"bytes,5,opt,name=sr_threshold,json=srThreshold,proto3" json:"sr_threshold,omitempty"`
// If the average RPS of the sampling window is below this threshold, the request
// will not be rejected, even if the success rate is lower than sr_threshold.
// Defaults to 0.
RpsThreshold *v3.RuntimeUInt32 `protobuf:"bytes,6,opt,name=rps_threshold,json=rpsThreshold,proto3" json:"rps_threshold,omitempty"`
// The probability of rejection will never exceed this value, even if the failure rate is rising.
// Defaults to 80%.
MaxRejectionProbability *v3.RuntimePercent `` /* 132-byte string literal not displayed */
// contains filtered or unexported fields
}
[#next-free-field: 8]
func (*AdmissionControl) ClearAggression ¶
func (x *AdmissionControl) ClearAggression()
func (*AdmissionControl) ClearEnabled ¶
func (x *AdmissionControl) ClearEnabled()
func (*AdmissionControl) ClearEvaluationCriteria ¶
func (x *AdmissionControl) ClearEvaluationCriteria()
func (*AdmissionControl) ClearMaxRejectionProbability ¶
func (x *AdmissionControl) ClearMaxRejectionProbability()
func (*AdmissionControl) ClearRpsThreshold ¶
func (x *AdmissionControl) ClearRpsThreshold()
func (*AdmissionControl) ClearSamplingWindow ¶
func (x *AdmissionControl) ClearSamplingWindow()
func (*AdmissionControl) ClearSrThreshold ¶
func (x *AdmissionControl) ClearSrThreshold()
func (*AdmissionControl) ClearSuccessCriteria ¶
func (x *AdmissionControl) ClearSuccessCriteria()
func (*AdmissionControl) GetAggression ¶
func (x *AdmissionControl) GetAggression() *v3.RuntimeDouble
func (*AdmissionControl) GetEnabled ¶
func (x *AdmissionControl) GetEnabled() *v3.RuntimeFeatureFlag
func (*AdmissionControl) GetEvaluationCriteria ¶
func (x *AdmissionControl) GetEvaluationCriteria() isAdmissionControl_EvaluationCriteria
func (*AdmissionControl) GetMaxRejectionProbability ¶
func (x *AdmissionControl) GetMaxRejectionProbability() *v3.RuntimePercent
func (*AdmissionControl) GetRpsThreshold ¶
func (x *AdmissionControl) GetRpsThreshold() *v3.RuntimeUInt32
func (*AdmissionControl) GetSamplingWindow ¶
func (x *AdmissionControl) GetSamplingWindow() *durationpb.Duration
func (*AdmissionControl) GetSrThreshold ¶
func (x *AdmissionControl) GetSrThreshold() *v3.RuntimePercent
func (*AdmissionControl) GetSuccessCriteria ¶
func (x *AdmissionControl) GetSuccessCriteria() *AdmissionControl_SuccessCriteria
func (*AdmissionControl) HasAggression ¶
func (x *AdmissionControl) HasAggression() bool
func (*AdmissionControl) HasEnabled ¶
func (x *AdmissionControl) HasEnabled() bool
func (*AdmissionControl) HasEvaluationCriteria ¶
func (x *AdmissionControl) HasEvaluationCriteria() bool
func (*AdmissionControl) HasMaxRejectionProbability ¶
func (x *AdmissionControl) HasMaxRejectionProbability() bool
func (*AdmissionControl) HasRpsThreshold ¶
func (x *AdmissionControl) HasRpsThreshold() bool
func (*AdmissionControl) HasSamplingWindow ¶
func (x *AdmissionControl) HasSamplingWindow() bool
func (*AdmissionControl) HasSrThreshold ¶
func (x *AdmissionControl) HasSrThreshold() bool
func (*AdmissionControl) HasSuccessCriteria ¶
func (x *AdmissionControl) HasSuccessCriteria() bool
func (*AdmissionControl) ProtoMessage ¶
func (*AdmissionControl) ProtoMessage()
func (*AdmissionControl) ProtoReflect ¶
func (x *AdmissionControl) ProtoReflect() protoreflect.Message
func (*AdmissionControl) Reset ¶
func (x *AdmissionControl) Reset()
func (*AdmissionControl) SetAggression ¶
func (x *AdmissionControl) SetAggression(v *v3.RuntimeDouble)
func (*AdmissionControl) SetEnabled ¶
func (x *AdmissionControl) SetEnabled(v *v3.RuntimeFeatureFlag)
func (*AdmissionControl) SetMaxRejectionProbability ¶
func (x *AdmissionControl) SetMaxRejectionProbability(v *v3.RuntimePercent)
func (*AdmissionControl) SetRpsThreshold ¶
func (x *AdmissionControl) SetRpsThreshold(v *v3.RuntimeUInt32)
func (*AdmissionControl) SetSamplingWindow ¶
func (x *AdmissionControl) SetSamplingWindow(v *durationpb.Duration)
func (*AdmissionControl) SetSrThreshold ¶
func (x *AdmissionControl) SetSrThreshold(v *v3.RuntimePercent)
func (*AdmissionControl) SetSuccessCriteria ¶
func (x *AdmissionControl) SetSuccessCriteria(v *AdmissionControl_SuccessCriteria)
func (*AdmissionControl) String ¶
func (x *AdmissionControl) String() string
func (*AdmissionControl) WhichEvaluationCriteria ¶
func (x *AdmissionControl) WhichEvaluationCriteria() case_AdmissionControl_EvaluationCriteria
type AdmissionControl_SuccessCriteria ¶
type AdmissionControl_SuccessCriteria struct {
// If HTTP criteria are unspecified, all HTTP status codes below 500 are treated as successful
// responses.
//
// .. note::
//
// The default HTTP codes considered successful by the admission controller are done so due
// to the unlikelihood that sending fewer requests would change their behavior (for example:
// redirects, unauthorized access, or bad requests won't be alleviated by sending less
// traffic).
HttpCriteria *AdmissionControl_SuccessCriteria_HttpCriteria `protobuf:"bytes,1,opt,name=http_criteria,json=httpCriteria,proto3" json:"http_criteria,omitempty"`
// GRPC status codes to consider as request successes. If unspecified, defaults to: Ok,
// Cancelled, Unknown, InvalidArgument, NotFound, AlreadyExists, Unauthenticated,
// FailedPrecondition, OutOfRange, PermissionDenied, and Unimplemented.
//
// .. note::
//
// The default gRPC codes that are considered successful by the admission controller are
// chosen because of the unlikelihood that sending fewer requests will change the behavior.
GrpcCriteria *AdmissionControl_SuccessCriteria_GrpcCriteria `protobuf:"bytes,2,opt,name=grpc_criteria,json=grpcCriteria,proto3" json:"grpc_criteria,omitempty"`
// contains filtered or unexported fields
}
Default method of specifying what constitutes a successful request. All status codes that indicate a successful request must be explicitly specified if not relying on the default values.
func (*AdmissionControl_SuccessCriteria) ClearGrpcCriteria ¶
func (x *AdmissionControl_SuccessCriteria) ClearGrpcCriteria()
func (*AdmissionControl_SuccessCriteria) ClearHttpCriteria ¶
func (x *AdmissionControl_SuccessCriteria) ClearHttpCriteria()
func (*AdmissionControl_SuccessCriteria) GetGrpcCriteria ¶
func (x *AdmissionControl_SuccessCriteria) GetGrpcCriteria() *AdmissionControl_SuccessCriteria_GrpcCriteria
func (*AdmissionControl_SuccessCriteria) GetHttpCriteria ¶
func (x *AdmissionControl_SuccessCriteria) GetHttpCriteria() *AdmissionControl_SuccessCriteria_HttpCriteria
func (*AdmissionControl_SuccessCriteria) HasGrpcCriteria ¶
func (x *AdmissionControl_SuccessCriteria) HasGrpcCriteria() bool
func (*AdmissionControl_SuccessCriteria) HasHttpCriteria ¶
func (x *AdmissionControl_SuccessCriteria) HasHttpCriteria() bool
func (*AdmissionControl_SuccessCriteria) ProtoMessage ¶
func (*AdmissionControl_SuccessCriteria) ProtoMessage()
func (*AdmissionControl_SuccessCriteria) ProtoReflect ¶
func (x *AdmissionControl_SuccessCriteria) ProtoReflect() protoreflect.Message
func (*AdmissionControl_SuccessCriteria) Reset ¶
func (x *AdmissionControl_SuccessCriteria) Reset()
func (*AdmissionControl_SuccessCriteria) SetGrpcCriteria ¶
func (x *AdmissionControl_SuccessCriteria) SetGrpcCriteria(v *AdmissionControl_SuccessCriteria_GrpcCriteria)
func (*AdmissionControl_SuccessCriteria) SetHttpCriteria ¶
func (x *AdmissionControl_SuccessCriteria) SetHttpCriteria(v *AdmissionControl_SuccessCriteria_HttpCriteria)
func (*AdmissionControl_SuccessCriteria) String ¶
func (x *AdmissionControl_SuccessCriteria) String() string
type AdmissionControl_SuccessCriteria_ ¶
type AdmissionControl_SuccessCriteria_ struct {
SuccessCriteria *AdmissionControl_SuccessCriteria `protobuf:"bytes,2,opt,name=success_criteria,json=successCriteria,proto3,oneof"`
}
type AdmissionControl_SuccessCriteria_GrpcCriteria ¶
type AdmissionControl_SuccessCriteria_GrpcCriteria struct {
// Status codes that constitute a successful request.
// Mappings can be found at: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md.
GrpcSuccessStatus []uint32 `protobuf:"varint,1,rep,packed,name=grpc_success_status,json=grpcSuccessStatus,proto3" json:"grpc_success_status,omitempty"`
// contains filtered or unexported fields
}
func (*AdmissionControl_SuccessCriteria_GrpcCriteria) GetGrpcSuccessStatus ¶
func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) GetGrpcSuccessStatus() []uint32
func (*AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoMessage ¶
func (*AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoMessage()
func (*AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoReflect ¶
func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoReflect() protoreflect.Message
func (*AdmissionControl_SuccessCriteria_GrpcCriteria) Reset ¶
func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) Reset()
func (*AdmissionControl_SuccessCriteria_GrpcCriteria) SetGrpcSuccessStatus ¶
func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) SetGrpcSuccessStatus(v []uint32)
func (*AdmissionControl_SuccessCriteria_GrpcCriteria) String ¶
func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) String() string
type AdmissionControl_SuccessCriteria_GrpcCriteria_builder ¶
type AdmissionControl_SuccessCriteria_GrpcCriteria_builder struct {
// Status codes that constitute a successful request.
// Mappings can be found at: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md.
GrpcSuccessStatus []uint32
// contains filtered or unexported fields
}
func (AdmissionControl_SuccessCriteria_GrpcCriteria_builder) Build ¶
type AdmissionControl_SuccessCriteria_HttpCriteria ¶
type AdmissionControl_SuccessCriteria_HttpCriteria struct {
// Status code ranges that constitute a successful request. Configurable codes are in the
// range [100, 600).
HttpSuccessStatus []*v31.Int32Range `protobuf:"bytes,1,rep,name=http_success_status,json=httpSuccessStatus,proto3" json:"http_success_status,omitempty"`
// contains filtered or unexported fields
}
func (*AdmissionControl_SuccessCriteria_HttpCriteria) GetHttpSuccessStatus ¶
func (x *AdmissionControl_SuccessCriteria_HttpCriteria) GetHttpSuccessStatus() []*v31.Int32Range
func (*AdmissionControl_SuccessCriteria_HttpCriteria) ProtoMessage ¶
func (*AdmissionControl_SuccessCriteria_HttpCriteria) ProtoMessage()
func (*AdmissionControl_SuccessCriteria_HttpCriteria) ProtoReflect ¶
func (x *AdmissionControl_SuccessCriteria_HttpCriteria) ProtoReflect() protoreflect.Message
func (*AdmissionControl_SuccessCriteria_HttpCriteria) Reset ¶
func (x *AdmissionControl_SuccessCriteria_HttpCriteria) Reset()
func (*AdmissionControl_SuccessCriteria_HttpCriteria) SetHttpSuccessStatus ¶
func (x *AdmissionControl_SuccessCriteria_HttpCriteria) SetHttpSuccessStatus(v []*v31.Int32Range)
func (*AdmissionControl_SuccessCriteria_HttpCriteria) String ¶
func (x *AdmissionControl_SuccessCriteria_HttpCriteria) String() string
type AdmissionControl_SuccessCriteria_HttpCriteria_builder ¶
type AdmissionControl_SuccessCriteria_HttpCriteria_builder struct {
// Status code ranges that constitute a successful request. Configurable codes are in the
// range [100, 600).
HttpSuccessStatus []*v31.Int32Range
// contains filtered or unexported fields
}
func (AdmissionControl_SuccessCriteria_HttpCriteria_builder) Build ¶
type AdmissionControl_SuccessCriteria_builder ¶
type AdmissionControl_SuccessCriteria_builder struct {
// If HTTP criteria are unspecified, all HTTP status codes below 500 are treated as successful
// responses.
//
// .. note::
//
// The default HTTP codes considered successful by the admission controller are done so due
// to the unlikelihood that sending fewer requests would change their behavior (for example:
// redirects, unauthorized access, or bad requests won't be alleviated by sending less
// traffic).
HttpCriteria *AdmissionControl_SuccessCriteria_HttpCriteria
// GRPC status codes to consider as request successes. If unspecified, defaults to: Ok,
// Cancelled, Unknown, InvalidArgument, NotFound, AlreadyExists, Unauthenticated,
// FailedPrecondition, OutOfRange, PermissionDenied, and Unimplemented.
//
// .. note::
//
// The default gRPC codes that are considered successful by the admission controller are
// chosen because of the unlikelihood that sending fewer requests will change the behavior.
GrpcCriteria *AdmissionControl_SuccessCriteria_GrpcCriteria
// contains filtered or unexported fields
}
func (AdmissionControl_SuccessCriteria_builder) Build ¶
func (b0 AdmissionControl_SuccessCriteria_builder) Build() *AdmissionControl_SuccessCriteria
type AdmissionControl_builder ¶
type AdmissionControl_builder struct {
// If set to false, the admission control filter will operate as a pass-through filter. If the
// message is unspecified, the filter will be enabled.
Enabled *v3.RuntimeFeatureFlag
// Fields of oneof EvaluationCriteria:
SuccessCriteria *AdmissionControl_SuccessCriteria
// -- end of EvaluationCriteria
// The sliding time window over which the success rate is calculated. The window is rounded to the
// nearest second. Defaults to 30s.
SamplingWindow *durationpb.Duration
// Rejection probability is defined by the formula::
//
// max(0, (rq_count - rq_success_count / sr_threshold) / (rq_count + 1)) ^ (1 / aggression)
//
// The aggression dictates how heavily the admission controller will throttle requests upon SR
// dropping at or below the threshold. A value of 1 will result in a linear increase in
// rejection probability as SR drops. Any values less than 1.0, will be set to 1.0. If the
// message is unspecified, the aggression is 1.0. See `the admission control documentation
// <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/admission_control_filter.html>`_
// for a diagram illustrating this.
Aggression *v3.RuntimeDouble
// Dictates the success rate at which the rejection probability is non-zero. As success rate drops
// below this threshold, rejection probability will increase. Any success rate above the threshold
// results in a rejection probability of 0. Defaults to 95%.
SrThreshold *v3.RuntimePercent
// If the average RPS of the sampling window is below this threshold, the request
// will not be rejected, even if the success rate is lower than sr_threshold.
// Defaults to 0.
RpsThreshold *v3.RuntimeUInt32
// The probability of rejection will never exceed this value, even if the failure rate is rising.
// Defaults to 80%.
MaxRejectionProbability *v3.RuntimePercent
// contains filtered or unexported fields
}
func (AdmissionControl_builder) Build ¶
func (b0 AdmissionControl_builder) Build() *AdmissionControl
Source Files
¶
- admission_control.pb.go
Click to show internal directories.
Click to hide internal directories.