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

Improved status for RateLimitPolicy #87

Closed
maleck13 opened this issue Jun 1, 2022 · 6 comments
Closed

Improved status for RateLimitPolicy #87

maleck13 opened this issue Jun 1, 2022 · 6 comments

Comments

@maleck13
Copy link
Collaborator

maleck13 commented Jun 1, 2022

What

The RateLimitPolicy status should aggregate the status of the WASMPlugin any EnvoyFilters, HTTPRoute and also the RateLimit limitador resource. The RateLimitPolicy API is the end user facing API and it should communicate well the current state of the rate limiting set up.

Initially the status can reflect wether the ratelimit, envoyfilter and WasmPlugin has been created and the HTTPRoute is accepted. Possibly we want to add some new conditions as we are interacting with two different systems perhaps a condition for Gateway and a condition for RateLimitService and then a general Ready condition. alternatively we could use the Ready condition with specific messages to communicate. Our status block for AuthPolicy should follow the same pattern we decide on here

status:
  conditions:
    - lastTransitionTime: "2019-10-22T16:29:24Z"
      status: "True"
      msg: "gateway configured correctly"
      type: Gateway
    - lastTransitionTime: "2019-10-22T16:29:24Z"
      status: "True"
      mgs: "rate limit service configured correctly"
      type: RateLimitService
    - lastTransitionTime: "2019-10-22T16:29:24Z"
      status: "True"
      mgs: "rate limiting available"
      type: Ready
@maleck13
Copy link
Collaborator Author

maleck13 commented Jun 1, 2022

@rahulanand16nov @eguzki any thoughts on something like the above

@maleck13
Copy link
Collaborator Author

maleck13 commented Jun 1, 2022

To get a better view of the overall status, we have also identified that we need some improvements to the RateLimit resource and limitador. We can follow on with tasks to help us get a deeper insight into limitador and WASMPlugin etc
istio/istio#39193

@didierofrivia didierofrivia transferred this issue from Kuadrant/kuadrant-controller Nov 8, 2022
@didierofrivia didierofrivia self-assigned this Feb 9, 2023
mikenairn pushed a commit to mikenairn/kuadrant-operator that referenced this issue Mar 23, 2023
* delete unused API CRD and controller

* manifests updated
@alexsnaps alexsnaps added this to the v0.5.0 milestone Sep 12, 2023
@didierofrivia didierofrivia removed their assignment Nov 2, 2023
@alexsnaps alexsnaps removed this from the v0.5.0 milestone Nov 10, 2023
@alexsnaps alexsnaps added target/next and removed status/blocked Blocked by something... labels Nov 10, 2023
@alexsnaps
Copy link
Member

See Kuadrant/architecture#38

@eguzki
Copy link
Contributor

eguzki commented Nov 24, 2023

One rate limit policy may be affecting multiple gateways targeting a route with multiple parent gateways. The WasmPlugin is per gateway basis.

@eguzki
Copy link
Contributor

eguzki commented Nov 24, 2023

To take into account as well that depending on the gateways, routes and policies, as well as route selectors, a wasmplugin may not be created because there is nothing to rate limit. So, there are scenarios, where reconciliation is done successfully, but the policy is indeed ineffective. If this is a spec configuration mistake (for example wrong route selectors), the status conditions should shout out: "ey, there is nothing I can do, it is your fault and rate limiting will not happen"

@alexsnaps
Copy link
Member

Closing this in favor of the RFC one...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Status: To test
Development

No branches or pull requests

4 participants