kuadrant-operator icon indicating copy to clipboard operation
kuadrant-operator copied to clipboard

Update limitador

Open eguzki opened this issue 1 year ago • 5 comments

What

Update Limitador to v0.8.0

Bring to the Kuadrant CRD Limtiador's new features:

  • rate limit headers
  • redis-cached -> options -> response-timeout
  • telemetry
  • ~tracing~ -> purposefully left out, for now.
  • verbosity

eguzki avatar May 02 '24 18:05 eguzki

Codecov Report

Attention: Patch coverage is 69.23077% with 32 lines in your changes missing coverage. Please review.

Project coverage is 82.89%. Comparing base (ece13e8) to head (20735d0). Report is 136 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #608      +/-   ##
==========================================
+ Coverage   80.20%   82.89%   +2.68%     
==========================================
  Files          64       77      +13     
  Lines        4492     6023    +1531     
==========================================
+ Hits         3603     4993    +1390     
- Misses        600      681      +81     
- Partials      289      349      +60     
Flag Coverage Δ
bare-k8s-integration 4.52% <0.00%> (?)
controllers-integration 72.54% <53.84%> (?)
gatewayapi-integration 10.95% <25.00%> (?)
integration ?
istio-integration 56.16% <25.00%> (?)
unit 33.27% <41.34%> (+3.23%) :arrow_up:

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) 92.17% <93.93%> (+0.75%) :arrow_up:
pkg/common (u) 88.13% <ø> (-0.70%) :arrow_down:
pkg/istio (u) 73.88% <ø> (-0.03%) :arrow_down:
pkg/log (u) 94.73% <ø> (ø)
pkg/reconcilers (u) ∅ <ø> (∅)
pkg/rlptools (u) 83.33% <ø> (+3.87%) :arrow_up:
controllers (i) 82.44% <84.23%> (+5.64%) :arrow_up:
Files Coverage Δ
api/v1beta1/kuadrant_types.go 71.42% <ø> (ø)
controllers/kuadrant_controller.go 64.76% <78.37%> (+11.19%) :arrow_up:
pkg/kuadranttools/limitador_mutators.go 64.17% <64.17%> (ø)

... and 40 files with indirect coverage changes

codecov[bot] avatar May 02 '24 18:05 codecov[bot]

There are few things here that we deliberately left out... e.g. tracing. We purposefully decided to not have them part of the API. This is fairly big change and I think we should be cautious about adding all these. It would also possibly mean needing to support these moving forward!

alexsnaps avatar May 02 '24 20:05 alexsnaps

There are few things here that we deliberately left out... e.g. tracing. We purposefully decided to not have them part of the API. This is fairly big change and I think we should be cautious about adding all these. It would also possibly mean needing to support these moving forward!

removing tracing. Anything else?

eguzki avatar May 03 '24 07:05 eguzki

Honestly, anything around the cached_redis makes me uncomfortable...

alexsnaps avatar May 03 '24 12:05 alexsnaps

Honestly, anything around the cached_redis makes me uncomfortable...

cached_redis option was already there. This PR adds response-timeout extra option available to the Kuadrant CRD. we should make a call. We either allow all available params for redis_cached or remove redis_cached entirely from the Kuadrant CRD. Provided that redis_cached is the storage used for global rate limiting, I opt to add it.

eguzki avatar May 03 '24 12:05 eguzki

ready for review @Kuadrant/engineering

eguzki avatar Jul 15 '24 09:07 eguzki

It looks good, maybe there's a pattern for crafting the mutators other than the suggested, we could put a pin and look into it later on too.

didierofrivia avatar Jul 19 '24 10:07 didierofrivia