-
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]>
… and add corresponding tests Signed-off-by: André Silva <[email protected]>
…te location in ComparisonStrategy Signed-off-by: André Silva <[email protected]>
# Conflicts: # samples/AspNetCore/Program.cs
…ling Signed-off-by: André Silva <[email protected]>
…ect async initialization and shutdown Signed-off-by: André Silva <[email protected]>
… methods Signed-off-by: André Silva <[email protected]>
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.md
explaining the usage, evaluation strategies, modes, and limitations of the Multi-Provider feature.Sample Implementation:
samples/AspNetCore/Program.cs
to demonstrate Multi-Provider usage, including flag evaluation and error handling. [1] [2]Core Multi-Provider Functionality:
MultiProvider
class insrc/OpenFeature/Providers/MultiProvider/MultiProvider.cs
, implementing support for multiple providers, evaluation strategies, initialization, and shutdown logic.ProviderEntry
class to represent individual providers in the Multi-Provider configuration.Supporting Models and Extensions:
ProviderStatus
andRegisteredProvider
models to track provider states and metadata. [1] [2]ProviderExtensions
to handle evaluation logic for individual providers.Related Issues
Fixes #487
Notes
I didn't do proper testing for
Hooks
andEvents
. This PR is already quite big, and I would appreciate some feedback on the overall design.Follow-up Tasks
How to test
Open the
samples
app and enjoy!