Support dynamic limit override in ratelimit filter (#11770)
Provides a way to specify dynamic rate limit override in the rate limit descriptor from static value or from dynamic metadata. New type, RateLimitUnit was created to share across config protocol and rate limit service protocol. A PR for the reference implementation of the rate limit service will follow after the API changes are discussed and accepted. Signed-off-by: Petr Pchelko <ppchelko@wikimedia.org> Mirrored from https://github.com/envoyproxy/envoy @ 7ea1f24bd53522408d9bc55316dff9ed1701bc73master-ci-test
parent
063b7f6a92
commit
1d7036a86b
6 changed files with 107 additions and 0 deletions
@ -0,0 +1,30 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.type.v3; |
||||
|
||||
import "udpa/annotations/status.proto"; |
||||
|
||||
option java_package = "io.envoyproxy.envoy.type.v3"; |
||||
option java_outer_classname = "RatelimitUnitProto"; |
||||
option java_multiple_files = true; |
||||
option (udpa.annotations.file_status).package_version_status = ACTIVE; |
||||
|
||||
// [#protodoc-title: Ratelimit Time Unit] |
||||
|
||||
// Identifies the unit of of time for rate limit. |
||||
enum RateLimitUnit { |
||||
// The time unit is not known. |
||||
UNKNOWN = 0; |
||||
|
||||
// The time unit representing a second. |
||||
SECOND = 1; |
||||
|
||||
// The time unit representing a minute. |
||||
MINUTE = 2; |
||||
|
||||
// The time unit representing an hour. |
||||
HOUR = 3; |
||||
|
||||
// The time unit representing a day. |
||||
DAY = 4; |
||||
} |
Loading…
Reference in new issue