Limitador
Limitador is a generic rate-limiter written in Rust. It can be used as a library, or as a service. The service exposes HTTP endpoints to apply and observe limits. Limitador can be used with Envoy because it also exposes a grpc service, on a different port, that implements the Envoy Rate Limit protocol (v3).
Limitador is under active development, and its API has not been stabilized yet.
Getting started
Rust library
Add this to your Cargo.toml
:
For more information, see the README
of the crate
Server
Run with Docker (replace latest
with the version you want):
Run locally:
Refer to the help message on how to start up the server. More information are available
in the server's README.md
Development
Build
Run the tests
Some tests need a redis deployed in localhost:6379
. You can run it in Docker with:
Some tests need a infinispan deployed in localhost:11222
. You can run it in Docker with:
Then, run the tests:
or you can run tests disabling the "redis storage" feature:
Contributing
Join us on the #kuadrant channel in the Kubernetes Slack workspace, for live discussions about the roadmap and more.