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

feat(application-generic, shared): Add Rate Limiting feature flag #4667

Merged
merged 9 commits into from
Oct 30, 2023

Conversation

rifont
Copy link
Contributor

@rifont rifont commented Oct 26, 2023

What change does this PR introduce?

  • Adds the IS_REQUEST_RATE_LIMITING_ENABLED shared type enum
  • Refactors the feature-flags shared type to strictly type the flag naming conventions, and adds relevant type checking tests
  • Adds the GetIsRequestRateLimitingEnabled use case

Why was this change needed?

A feature flag is required for the new API Request Rate Limiting feature to safely introduce and release changes.

Other information (Screenshots)

n/a

@linear
Copy link

linear bot commented Oct 26, 2023

NV-3057 🏎️ Rate Limiting Feature Flag

What?

Create a feature flag for the new API Rate Limiting feature called IS_REQUEST_RATE_LIMITING_ENABLED. It is configurable via environment variables and LaunchDarkly.

Why? (Context)

All new features must have a feature flag. This feature flag will be long-lived to act as a kill-switch for rate-limiting in disaster scenarios.

The environment variable provides the capability for self-hosted customers to opt in/out of rate limiting to optionally protect their service.

Definition of Done

  • New FF configurable in environment
  • New FF available in LaunchDarkly
  • New FF defined in AWS environments

@rifont rifont self-assigned this Oct 26, 2023
@rifont rifont merged commit 37183b3 into next Oct 30, 2023
29 of 30 checks passed
@rifont rifont deleted the nv-3057-rate-limiting-feature-flag branch October 30, 2023 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants