Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rate limiting limits controller #527

Closed
wants to merge 22 commits into from
Closed

Conversation

eguzki
Copy link
Contributor

@eguzki eguzki commented Apr 9, 2024

What

Custom controller for Limitador limits reading from DAG Gateway API topology and RateLimitPolicies

Limitador cluster envoy filter controller reading from DAG Gateway API topology and RateLimitPolicies

Kuadrant rate limiting controllers no longer depends on back references annotation: kuadrant.io/ratelimitpolicies. Instead, controllers rely on the DAG Gateway API topopology to read cluster state. Kuadrant rate limiting controller responsible for the limitador's limits is also based on this approach. So is the limitador cluster envoy filter controller

Fix reconciliation event blind spots due to race conditions or timing issues. The reconciled resource reflects latest updates from the cluster (Gateways, Routes and policies).

Work being done as part of #530

Copy link

codecov bot commented Apr 9, 2024

Codecov Report

Attention: Patch coverage is 77.26397% with 118 lines in your changes missing coverage. Please review.

Project coverage is 57.97%. Comparing base (ece13e8) to head (8e433e2).
Report is 124 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #527       +/-   ##
===========================================
- Coverage   80.20%   57.97%   -22.24%     
===========================================
  Files          64       80       +16     
  Lines        4492     5973     +1481     
===========================================
- Hits         3603     3463      -140     
- Misses        600     2173     +1573     
- Partials      289      337       +48     
Flag Coverage Δ
bare-k8s-integration 4.72% <2.69%> (?)
gatewayapi-integration 14.18% <24.66%> (?)
integration ?
istio-integration 56.57% <76.68%> (?)
unit ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
api/v1beta1 (u) 71.42% <ø> (ø)
api/v1beta2 (u) 69.48% <64.44%> (-21.95%) ⬇️
pkg/common (u) 18.03% <ø> (-70.80%) ⬇️
pkg/istio (u) 63.23% <ø> (-10.69%) ⬇️
pkg/log (u) 57.89% <ø> (-36.85%) ⬇️
pkg/reconcilers (u) ∅ <ø> (∅)
pkg/rlptools (u) 77.21% <ø> (-2.24%) ⬇️
controllers (i) 58.23% <74.02%> (-18.57%) ⬇️
Files Coverage Δ
api/v1beta2/ratelimitpolicy_types.go 63.79% <ø> (-25.30%) ⬇️
controllers/gateway_kuadrant_controller.go 83.13% <100.00%> (+2.00%) ⬆️
controllers/ratelimitpolicy_backreferences.go 100.00% <100.00%> (ø)
controllers/test_common.go 100.00% <100.00%> (ø)
...lers/ratelimitpolicy_enforced_status_controller.go 82.82% <88.88%> (ø)
pkg/common/common.go 22.58% <0.00%> (-71.17%) ⬇️
...ollers/limitador_cluster_envoyfilter_controller.go 77.66% <89.28%> (-4.15%) ⬇️
pkg/library/mappers/gateway_to_kuadrant.go 78.57% <78.57%> (ø)
pkg/library/mappers/policy_to_gateway.go 64.70% <70.00%> (ø)
pkg/library/mappers/httproute_to_kuadrant.go 79.16% <79.16%> (ø)
... and 8 more

... and 43 files with indirect coverage changes

@eguzki eguzki force-pushed the rate-limiting-limits-controller branch 2 times, most recently from 0344fe4 to 63bee9a Compare April 10, 2024 09:55
@eguzki eguzki mentioned this pull request Apr 10, 2024
12 tasks
@eguzki eguzki force-pushed the rate-limiting-limits-controller branch from 63bee9a to 8297900 Compare April 10, 2024 11:50
@KevFan KevFan mentioned this pull request Apr 10, 2024
@eguzki eguzki force-pushed the rate-limiting-limits-controller branch from 8297900 to db8fe5c Compare April 10, 2024 22:39
@eguzki eguzki added the kind/enhancement New feature or request label Jun 5, 2024
@eguzki eguzki force-pushed the rate-limiting-limits-controller branch from 8c08d25 to c026986 Compare June 6, 2024 15:27
@eguzki eguzki force-pushed the rate-limiting-limits-controller branch from c026986 to 77e1247 Compare June 17, 2024 16:21
@eguzki
Copy link
Contributor Author

eguzki commented Oct 23, 2024

Closing in favor of #893

I leave the branch undeleted because there are some integration tests that can be backported

@eguzki eguzki closed this Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant