{"id":20410292,"url":"https://github.com/kuadrant/limitador","last_synced_at":"2025-05-07T22:27:03.544Z","repository":{"id":37087517,"uuid":"265506193","full_name":"Kuadrant/limitador","owner":"Kuadrant","description":"Rate limiter","archived":false,"fork":false,"pushed_at":"2025-04-10T14:36:28.000Z","size":5262,"stargazers_count":63,"open_issues_count":24,"forks_count":24,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-28T04:36:36.475Z","etag":null,"topics":["envoy","kubernetes","rate-limiting","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kuadrant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-05-20T08:51:56.000Z","updated_at":"2025-04-14T14:00:25.000Z","dependencies_parsed_at":"2023-10-23T09:43:40.363Z","dependency_job_id":"7dbbd561-65ff-4d25-bff5-9ac25d2dad30","html_url":"https://github.com/Kuadrant/limitador","commit_stats":{"total_commits":478,"total_committers":14,"mean_commits":"34.142857142857146","dds":0.49581589958159,"last_synced_commit":"01cf755742aa62e7f0ad55f5d30b6e97bdaa447e"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Flimitador","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Flimitador/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Flimitador/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Flimitador/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kuadrant","download_url":"https://codeload.github.com/Kuadrant/limitador/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252963801,"owners_count":21832573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["envoy","kubernetes","rate-limiting","rust"],"created_at":"2024-11-15T05:45:23.052Z","updated_at":"2025-05-07T22:27:03.492Z","avatar_url":"https://github.com/Kuadrant.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Limitador\n\n[![Limitador GH Workflow](https://github.com/Kuadrant/limitador/actions/workflows/rust.yml/badge.svg)](https://github.com/Kuadrant/limitador/actions/workflows/rust.yml)\n[![docs.rs](https://docs.rs/limitador/badge.svg)](https://docs.rs/limitador)\n[![Crates.io](https://img.shields.io/crates/v/limitador)](https://crates.io/crates/limitador)\n[![Docker Repository on Quay](https://quay.io/repository/kuadrant/limitador/status\n\"Docker Repository on Quay\")](https://quay.io/repository/kuadrant/limitador)\n[![codecov](https://codecov.io/gh/Kuadrant/limitador/branch/main/graph/badge.svg?token=CE9LD3XCJT)](https://codecov.io/gh/Kuadrant/limitador)\n[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgit%2Bgithub.com%2FKuadrant%2Flimitador.svg?type=shield\u0026issueType=license)](https://app.fossa.com/projects/custom%2B162%2Fgit%2Bgithub.com%2FKuadrant%2Flimitador?ref=badge_shield\u0026issueType=license)\n\nLimitador is a generic rate-limiter written in Rust. It can be used as a\nlibrary, or as a service. The service exposes HTTP endpoints to apply and observe\nlimits. Limitador can be used with Envoy because it also exposes a grpc service, on a different\nport, that implements the Envoy Rate Limit protocol (v3).\n\n- [**Getting started**](#getting-started)\n- [**How it works**](doc/how-it-works.md)\n- [**Configuration**](doc/server/configuration.md)\n- [**Development**](#development)\n- [**Testing Environment**](limitador-server/sandbox/README.md)\n- [**Kubernetes**](limitador-server/kubernetes/README.md)\n- [**Contributing**](#contributing)\n- [**License**](#license)\n\nLimitador is under active development, and its API has not been stabilized yet.\n\n## Getting started\n\n- [Rust library](#rust-library)\n- [Server](#server)\n\n### Rust library\n\nAdd this to your `Cargo.toml`:\n```toml\n[dependencies]\nlimitador = { version = \"0.3.0\" }\n```\n\nFor more information, see the [`README` of the crate](limitador/README.md)\n\n### Server\n\nRun with Docker (replace `latest` with the version you want):\n```bash\ndocker run --rm --net=host -it quay.io/kuadrant/limitador:v1.0.0\n```\n\nRun locally:\n```bash\ncargo run --release --bin limitador-server -- --help\n```\n\nRefer to the help message on how to start up the server. More information are available\nin the [server's `README.md`](limitador-server/README.md)\n\n## Development\n\n### Build\n\n```bash\ncargo build\n```\n\n### Run the tests\n\nSome tests need a redis deployed in `localhost:6379`. You can run it in Docker with:\n```bash\ndocker run --rm -p 6379:6379 -it redis\n```\n\nThen, run the tests:\n\n```bash\ncargo test --all-features\n```\n\nor you can run tests disabling the \"redis storage\" feature:\n```bash\ncd limitador; cargo test --no-default-features\n```\n\n## Contributing\n\nJoin us on the [#kuadrant](https://kubernetes.slack.com/archives/C05J0D0V525) channel in the Kubernetes Slack workspace,\nfor live discussions about the roadmap and more.\n\n## License\n\n[Apache 2.0 License](LICENSE)\n\n[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgit%2Bgithub.com%2FKuadrant%2Flimitador.svg?type=large\u0026issueType=license)](https://app.fossa.com/projects/custom%2B162%2Fgit%2Bgithub.com%2FKuadrant%2Flimitador?ref=badge_large\u0026issueType=license)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuadrant%2Flimitador","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuadrant%2Flimitador","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuadrant%2Flimitador/lists"}