Remove Feature Flag Service in favor of OpenFeature + flagd#1388
Remove Feature Flag Service in favor of OpenFeature + flagd#1388austinlparker merged 25 commits intoopen-telemetry:mainfrom
Conversation
|
Wow! |
See #1343 (comment) -- I think we'll need to get another Erlang service added in as a stub off Kafka somehow. I don't necessarily think it should block this PR, though. |
So you would drop Erlang/Elixir from the demo till we get a new service rewritten? |
|
I vote against it. |
|
We can discuss it at the next SIG meeting. I don't anticipate releasing the demo without an Erlang service, but we also can't arbitrarily hold off on integrating new changes because of implicit dependencies. |
|
Wish I'd known about this I'd have done what I could to make it not necessary, I wasn't aware it was being considered. Does Erlang/Elixir now get no demo app? |
No, we'll still have an Erlang demo app, but probably a smaller one that's less of a maintenance burden? |
|
So I can try to help, what burdern does it ease to be another service? You mention the build pipeline, how would that be different for product service or the new kafka service? |
|
@tsloughter moving this convo over to #1343 |
|
Hey @austinlparker, I'm one of the maintainers of OpenFeature. Thanks for getting this started! Please let me know if you have any questions. |
For the future, calls to the OpenFeature SDK can specify a default value so even if the backend is unavailable, you'll still get a working app. |
Feel free to check my work but I'm pretty sure that's what I've done here. |
Rad! Could you look into getting the python flagd provider released? :) |
@thisthat has opened a PR. Hopefully, we can get publishing working tomorrow. |
|
Perfect! |
|
When running this branch, I constantly get this error: |
|
@mviitane yes! @austinlparker was that working on the initial PR? |
|
Huh. I thought it was? |
|
Hm, does seem like it's not working. The ad service is running fine though. |
|
Should be working now, my bad. |
|
@beeme1mr looks like the python otel hook isn't published yet? |
|
See #1436 for notes on how we will integrate with k8s |
julianocosta89
left a comment
There was a problem hiding this comment.
Tested it, and everything seems to be working fine.
Let's ship it! 🚀
We'll publish the hook and include it in a follow up PR. |
|
@austinlparker the Python OTel hook is now released! Note that you need to update the import paths for the released version |
|
@federicobond I've tried adding it, but it seems there is an issue with the hook. |
…emetry#1388) * replace featureflag service with flagd * remove ff from gha * update changelog * fix sanity checker * add python * fix sanity * add flagd provider to python * Update src/adservice/build.gradle Co-authored-by: Justin Abrahms <justin@abrah.ms> * cleanup ad service eval * fix adservice * fixup gomod * add otel hooks for .net flags * add otel hooks for productcatalog * Remove trailing space * add stub for python otel hook * remove unneeded key from flags --------- Co-authored-by: Justin Abrahms <justin@abrah.ms> Co-authored-by: Juliano Costa <juliano.costa@datadoghq.com>
…emetry#1388) * replace featureflag service with flagd * remove ff from gha * update changelog * fix sanity checker * add python * fix sanity * add flagd provider to python * Update src/adservice/build.gradle Co-authored-by: Justin Abrahms <justin@abrah.ms> * cleanup ad service eval * fix adservice * fixup gomod * add otel hooks for .net flags * add otel hooks for productcatalog * Remove trailing space * add stub for python otel hook * remove unneeded key from flags --------- Co-authored-by: Justin Abrahms <justin@abrah.ms> Co-authored-by: Juliano Costa <juliano.costa@datadoghq.com>
…emetry#1388) * replace featureflag service with flagd * remove ff from gha * update changelog * fix sanity checker * add python * fix sanity * add flagd provider to python * Update src/adservice/build.gradle Co-authored-by: Justin Abrahms <justin@abrah.ms> * cleanup ad service eval * fix adservice * fixup gomod * add otel hooks for .net flags * add otel hooks for productcatalog * Remove trailing space * add stub for python otel hook * remove unneeded key from flags --------- Co-authored-by: Justin Abrahms <justin@abrah.ms> Co-authored-by: Juliano Costa <juliano.costa@datadoghq.com>

Changes
This PR removes the Erlang featureflag service and its dependencies in favor of OpenFeature ecosystem projects.
Rationale
Feature Flag Service is a bit of a heavy dependency for the project to maintain. We don't have any regular Erlang contributors in maintainer/approver ranks, which makes it difficult to evaluate changes. There's been a fairly long-standing issue with cross-platform builds in QEMU and various Erlang components which has kept the service on outdated versions of OTP. We've had several feature requests for more flexibility around the feature flags that require setting via API, and the lack of a dedicated client for the feature flag service itself makes it somewhat challenging for contributors to add new things (as they have to write handlers for each application).
OpenFeature is a CNCF incubating project that's under active development and provides several things:
Merge Requirements
For new features contributions please make sure you have completed the following
essential items:
CHANGELOG.mdupdated to document new feature additionsMaintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.