@@ -23,7 +23,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
23
23
// Rate limit :ref:`configuration overview <config_http_filters_rate_limit>`.
24
24
// [#extension: envoy.filters.http.ratelimit]
25
25
26
- // [#next-free-field: 16 ]
26
+ // [#next-free-field: 17 ]
27
27
message RateLimit {
28
28
option (udpa.annotations.versioning ).previous_message_type =
29
29
"envoy.config.filter.http.rate_limit.v2.RateLimit" ;
@@ -149,6 +149,24 @@ message RateLimit {
149
149
// the fraction of requests to enforce rate limits on. And the default percentage of the
150
150
// runtime key is 100% for backwards compatibility.
151
151
config.core.v3.RuntimeFractionalPercent filter_enforced = 15 ;
152
+
153
+ // If set, this will override the failure_mode_deny parameter with a runtime fraction.
154
+ // If the runtime key is not specified, the value of failure_mode_deny will be used.
155
+ //
156
+ // Example:
157
+ //
158
+ // .. code-block:: yaml
159
+ //
160
+ // failure_mode_deny: true
161
+ // failure_mode_deny_percent:
162
+ // default_value:
163
+ // numerator: 50
164
+ // denominator: HUNDRED
165
+ // runtime_key: ratelimit.failure_mode_deny_percent
166
+ //
167
+ // This means that when the rate limit service is unavailable, 50% of requests will be denied
168
+ // (fail closed) and 50% will be allowed (fail open).
169
+ config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16 ;
152
170
}
153
171
154
172
message RateLimitPerRoute {
0 commit comments