admission_controlv3

package
v1.33.0-20240425200945... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

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 assignable 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) Descriptor deprecated

func (*AdmissionControl) Descriptor() ([]byte, []int)

Deprecated: Use AdmissionControl.ProtoReflect.Descriptor instead.

func (*AdmissionControl) GetAggression

func (x *AdmissionControl) GetAggression() *v3.RuntimeDouble

func (*AdmissionControl) GetEnabled

func (x *AdmissionControl) GetEnabled() *v3.RuntimeFeatureFlag

func (*AdmissionControl) GetEvaluationCriteria

func (m *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) ProtoMessage

func (*AdmissionControl) ProtoMessage()

func (*AdmissionControl) ProtoReflect

func (x *AdmissionControl) ProtoReflect() protoreflect.Message

func (*AdmissionControl) Reset

func (x *AdmissionControl) Reset()

func (*AdmissionControl) String

func (x *AdmissionControl) String() string

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) Descriptor deprecated

func (*AdmissionControl_SuccessCriteria) Descriptor() ([]byte, []int)

Deprecated: Use AdmissionControl_SuccessCriteria.ProtoReflect.Descriptor instead.

func (*AdmissionControl_SuccessCriteria) GetGrpcCriteria

func (*AdmissionControl_SuccessCriteria) GetHttpCriteria

func (*AdmissionControl_SuccessCriteria) ProtoMessage

func (*AdmissionControl_SuccessCriteria) ProtoMessage()

func (*AdmissionControl_SuccessCriteria) ProtoReflect

func (*AdmissionControl_SuccessCriteria) Reset

func (*AdmissionControl_SuccessCriteria) 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) Descriptor deprecated

Deprecated: Use AdmissionControl_SuccessCriteria_GrpcCriteria.ProtoReflect.Descriptor instead.

func (*AdmissionControl_SuccessCriteria_GrpcCriteria) GetGrpcSuccessStatus

func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) GetGrpcSuccessStatus() []uint32

func (*AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoMessage

func (*AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoReflect

func (*AdmissionControl_SuccessCriteria_GrpcCriteria) Reset

func (*AdmissionControl_SuccessCriteria_GrpcCriteria) String

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) Descriptor deprecated

Deprecated: Use AdmissionControl_SuccessCriteria_HttpCriteria.ProtoReflect.Descriptor instead.

func (*AdmissionControl_SuccessCriteria_HttpCriteria) GetHttpSuccessStatus

func (x *AdmissionControl_SuccessCriteria_HttpCriteria) GetHttpSuccessStatus() []*v31.Int32Range

func (*AdmissionControl_SuccessCriteria_HttpCriteria) ProtoMessage

func (*AdmissionControl_SuccessCriteria_HttpCriteria) ProtoReflect

func (*AdmissionControl_SuccessCriteria_HttpCriteria) Reset

func (*AdmissionControl_SuccessCriteria_HttpCriteria) String

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL