fix: update go-control-plane to support MONTH, WEEK, and YEAR rate limit units#941
Conversation
|
hey @okdas can you fix DCO / sign your commit and force push ? |
…mit units Updates the go-control-plane/ratelimit module to v0.1.1-0.20250812085011 which includes support for MONTH, WEEK, and YEAR rate limit units that were added in commit acb1b95dadd4859dea1a0c62f1c0997786c102ec. This fixes the issue where rate limit configurations using "Month" unit were failing with "invalid rate limit unit '5'" error because the previous version did not include the enum definitions for these units. Fixes envoyproxy/ratelimit#XXX Signed-off-by: Dmitry K <okdas@pm.me>
3dbfa4e to
a007e81
Compare
Thanks! This has been done. |
|
@okdas Thanks for doing the deep dive here. @arkodg Thank you for the review! @arkodg Could you please take a look at this comment. If you could just publish a dev release as soon as tomorrow, we can push and test it in prod! If not, it'll be a bit of overhead but we'd likely have to fork and fragment the system. |
|
@Olshansk getting this PR in should be enough for now, you can use the generated tag (short sha which will should show up in https://hub.docker.com/r/envoyproxy/ratelimit/tags in the helm chart https://gateway.envoyproxy.io/docs/install/gateway-helm-api/#values as a workaround until EG v1.5.1 is out |
|
Will do. Thank you for the ultra fast response @arkodg! |
|
@arkodg Can you trigger the workflows so we can kick things off and push things forward? |
|
this will need a review from the maintainers, ptal @collin-lee / @psbrar99 |
|
tl;dr @collin-lee Appreciate the review and merge here! I'll continue the conversation in envoyproxy/go-control-plane#1245. There might still be an open question if "it's ready". If you guys ever need feedback (dev images, our usage, etc), let us know! |
Summary
Updates the go-control-plane/ratelimit module to include support for MONTH, WEEK, and YEAR rate limit units, aligning with Envoy Gateway v1.5.0+ capabilities.
Context
This unblocks the issue originally raised in envoyproxy/gateway#4495 which was mistakenly closed. The support for MONTH and YEAR units was:
However, the ratelimit service itself was still using an older version of go-control-plane that didn't include these enum definitions.
Problem
When Envoy Gateway v1.5.0+ sends rate limit configurations with "Month" unit via xDS, the ratelimit service fails with:
This occurs because:
5for MONTH via xDS.String()on enum value 5 returns "5" instead of "MONTH"Solution
Updated dependencies:
github.com/envoyproxy/go-control-plane/ratelimitto v0.1.1-0.20250812085011 (includes MONTH/WEEK/YEAR enums)Testing
go build ./....String()method now correctly returns "MONTH", "WEEK", "YEAR" instead of numeric valuesRelated Issues & PRs
This completes the chain of updates needed for full MONTH/WEEK/YEAR rate limit support across the Envoy ecosystem.