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

Feature toggle for rate limiting #1396

Closed
12 tasks done
Tracked by #1365
strekm opened this issue Oct 23, 2024 · 1 comment
Closed
12 tasks done
Tracked by #1365

Feature toggle for rate limiting #1396

strekm opened this issue Oct 23, 2024 · 1 comment
Assignees
Labels
area/api-gateway Issues or PRs related to api-gateway kind/feature Categorizes issue or PR as related to a new feature.
Milestone

Comments

@strekm
Copy link
Contributor

strekm commented Oct 23, 2024

Description

Introduce feature toggle mechanism that would allow to work on rate limiting epic without introducing long living dev branch or exposing half implemented functionality to end user. Feature toggle is not meant to be exposed to end user. The toggle is meant to be only used in development processes. The toggle should control only implementation related to the rate limiting story and should not affect in any way other features of API Gateway module, e.g. APIRules or Geoblocking. Feature toggle should not be released to managed Kyma offering.

ACs [PO]

  • feature toggle is not user facing
  • rate limiting features must not be exposed to end user, e.g. CRDs should not be present on a cluster
  • rate limiting feature toggles should be separated from other API Gateway features
  • feature toggle must be reusable for other features, e.g. Geoblocking
  • if should be possible to contribute to rate limiting story w/o releasing it to managed Kyma offering

TODOs:

  • Add dummy rate limiting controller and CRD for prove
  • implement support for feature flags using build tags
  • implement support to exclude feature flag resources from manifest created using kustomize
    - [ ] add GH Action job to run unit tests for rate limiting feature -> superseded by following TODO
    - [ ] add make target for testing and building rate limiting feature -> superseded by following TODO
  • Update existing development make targets to also include new ratelimit tag

PRs:

Reasons
Enable developers to incrementally contribute to rate limiting epic w/o managing long lasting dev branch

DoD:

  • Provide unit and integration tests.
    - [ ] Provide documentation.
  • Verify if the solution works for both open-source Kyma and SAP BTP, Kyma runtime.
    - [ ] If you changed the resource limits, explain why it was needed.
  • Verify that your contributions don't decrease code coverage. If they do, explain why this is the case.
    • Code coverage will decrease since there is new dummy code added for RateLimit API that is not tested.
      - [ ] Add release notes.

Attachments
part of: #1365

@strekm strekm added kind/feature Categorizes issue or PR as related to a new feature. area/api-gateway Issues or PRs related to api-gateway labels Oct 23, 2024
@strekm strekm added this to the 2.9.0 milestone Oct 23, 2024
@strekm strekm mentioned this issue Oct 23, 2024
13 tasks
@Ressetkk
Copy link
Contributor

It's not necessary. As long as you don't serve the API, you can't use it. And for that you have field in CRD.

@strekm strekm modified the milestones: 2.9.0, 2.10.0 Nov 4, 2024
@triffer triffer self-assigned this Nov 13, 2024
@triffer triffer removed their assignment Nov 15, 2024
@videlov videlov self-assigned this Nov 15, 2024
@triffer triffer assigned triffer and unassigned videlov Nov 18, 2024
@strekm strekm mentioned this issue Nov 20, 2024
14 tasks
@strekm strekm closed this as completed Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api-gateway Issues or PRs related to api-gateway kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

4 participants