-
Notifications
You must be signed in to change notification settings - Fork 25
feat: Add multi-provider support #488
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
Conversation
…ure resolution Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…provider feature flag evaluation Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…ng evaluation strategy Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…Strategy classes for feature flag evaluation Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…pecific feature resolution Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…esolution Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…ulti-type feature resolution Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…hod for improved multi-provider support Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…gy to enhance multi-provider support Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…ovider evaluation logic Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…date multi-provider functionality Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…strategy delegation Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #488 +/- ##
==========================================
+ Coverage 88.48% 89.67% +1.18%
==========================================
Files 50 64 +14
Lines 2102 2509 +407
Branches 245 296 +51
==========================================
+ Hits 1860 2250 +390
- Misses 191 199 +8
- Partials 51 60 +9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…iders Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
|
Do you have any idea when this will be implemented in the NuGet package? |
@sergheevxo I am actively working on #338, and this feature is next on my list. |
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…h fallback and mismatch handling Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
…ed clarity and consistency Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
… to OpenFeature.Providers.MultiProvider Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
This PR
This pull request introduces the experimental "Multi-Provider" feature to the OpenFeature library, enabling simultaneous use of multiple feature flag providers with configurable evaluation strategies. The changes include updates to documentation, new classes and methods to support multi-provider functionality, and a sample implementation in
AspNetCore. Below is a summary of the most important changes grouped by theme.Documentation Updates:
README.md, marking it as experimental.README.mdexplaining the usage, evaluation strategies, modes, and limitations of the Multi-Provider feature.Sample Implementation:
samples/AspNetCore/Program.csto demonstrate Multi-Provider usage, including flag evaluation and error handling. [1] [2]Core Multi-Provider Functionality:
MultiProviderclass insrc/OpenFeature/Providers/MultiProvider/MultiProvider.cs, implementing support for multiple providers, evaluation strategies, initialization, and shutdown logic.ProviderEntryclass to represent individual providers in the Multi-Provider configuration.Supporting Models and Extensions:
ProviderStatusandRegisteredProvidermodels to track provider states and metadata. [1] [2]ProviderExtensionsto handle evaluation logic for individual providers.Related Issues
Fixes #487
Notes
I didn't do proper testing for
HooksandEvents. This PR is already quite big, and I would appreciate some feedback on the overall design.Follow-up Tasks
How to test
Open the
samplesapp and enjoy!