-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Remove Feature Flag Service in favor of OpenFeature + flagd #1388
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! |
@basti1302 nice, thanks, wish it would have worked out. I would fight this if it wasn't for the QEMU issue on M1+ -- and now I think at this point it is too far along to be worth finding out if the issue is resolved in OTP-27-rc. |
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.
Looks good from an OpenFeature perspective. Once this has been merged, I could help set up the OpenTelemetry hooks, which provide span events and metrics based on the OTel semantic convention. We could also add client-side feature flags if there are any use cases you would like to support.
Thanks for your effort on this. @dyladan and I have a session at KubeCon talking about OpenTelemetry and OpenFeature. It would be amazing to use the OTel demo app for our examples.
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 |
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.
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. |
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.md
updated 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.