Rate limit service

config.ratelimit.v2.RateLimitServiceConfig

[config.ratelimit.v2.RateLimitServiceConfig proto]

Rate limit configuration overview.

{
  "cluster_name": "...",
  "grpc_service": "{...}",
  "use_data_plane_proto": "..."
}
cluster_name

(string, REQUIRED) Specifies the cluster manager cluster name that hosts the rate limit service. The client will connect to this cluster when it needs to make rate limit service requests. This field is deprecated and grpc_service should be used instead. The Envoy gRPC client will be used when this field is specified.

Precisely one of cluster_name, grpc_service must be set.

grpc_service

(core.GrpcService) Specifies the gRPC service that hosts the rate limit service. The client will connect to this cluster when it needs to make rate limit service requests.

Precisely one of cluster_name, grpc_service must be set.

use_data_plane_proto

(bool) Specifies if Envoy should use the data-plane-api client api/envoy/service/ratelimit/v2/rls.proto or the legacy client source/common/ratelimit/ratelimit.proto when making requests to the rate limit service.

Note

The legacy client will be used by default until the start of the 1.9.0 release cycle. At the start of the 1.9.0 release cycle this field will be removed and only the data-plane-api proto will be supported. This means that your rate limit service needs to have support for the data-plane-api proto by the start of the 1.9.0 release cycle. Lyft’s reference implementation supports the data-plane-api version as of v1.1.0.