-
Notifications
You must be signed in to change notification settings - Fork 22
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 <[email protected]>
…provider feature flag evaluation Signed-off-by: André Silva <[email protected]>
…ng evaluation strategy Signed-off-by: André Silva <[email protected]>
…Strategy classes for feature flag evaluation Signed-off-by: André Silva <[email protected]>
…pecific feature resolution Signed-off-by: André Silva <[email protected]>
…esolution Signed-off-by: André Silva <[email protected]>
…ulti-type feature resolution Signed-off-by: André Silva <[email protected]>
…hod for improved multi-provider support Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
…gy to enhance multi-provider support Signed-off-by: André Silva <[email protected]>
…ovider evaluation logic Signed-off-by: André Silva <[email protected]>
…date multi-provider functionality Signed-off-by: André Silva <[email protected]>
…strategy delegation Signed-off-by: André Silva <[email protected]>
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 <[email protected]>
…iders Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
|
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 <[email protected]>
Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
…h fallback and mismatch handling Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
…ed clarity and consistency Signed-off-by: André Silva <[email protected]>
… to OpenFeature.Providers.MultiProvider Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
… methods Signed-off-by: André Silva <[email protected]>
chrfwow
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm 🚀
|
@arttonoyan Could you please have another look into this PR? |
cce748e to
003e343
Compare
…ispose pattern handling Signed-off-by: André Silva <[email protected]>
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!