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).
- Getting started
- How it works
- Configuration
- Development
- Testing Environment
- Kubernetes
- Contributing
- License
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.