Skip to content
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

🔌 Plugin: managing feature flags / experimentation for entities #277

Closed
caioquirino opened this issue Apr 28, 2021 · 17 comments
Closed

Comments

@caioquirino
Copy link

Summary

Implement a Feature Flags management interface per service.

The motivation of this plugin is to either:

  • Integrate with currently existing Feature flags management services such as Cloudbees Feature Management, LaunchDarkly or other services; OR
  • Implement a Feature flags pluggable interface that can trigger any custom implementation of Feature Flags in case the service has a custom mechanism (such as a database or REST service to manage them)

Project website (if applicable)

Context

The focus of this plugin is not to implement Feature flags for Backstage itself, but for the projects/services/repos that are managed by Backstage

@adamdmharvey
Copy link
Member

adamdmharvey commented Apr 28, 2021

Great idea! Maybe add in support for Split.io also ! I'd think a feature like this would also require enhanced role based permissioning, as we wouldn't want an entire population of Backstage users to be able to flip feature flags across ecosystem. So maybe just VIEWING the flags as a start?

@goober
Copy link

goober commented Apr 28, 2021

Unleash is another vendor that could leverage this interface.

@caioquirino
Copy link
Author

caioquirino commented Apr 28, 2021

Unleash is really looking good and it's Free and Open Source! Nice suggestion @goober :)

@caioquirino
Copy link
Author

Is there any standard protocol or RFC for managing Feature Flags? Is it something we should look at before implementing it?

@freben
Copy link
Member

freben commented Apr 29, 2021

Hi! I am feeling hesitant against the idea of a general interface for this. We try to invent as few general wrappers as possible, and instead try to prioritize making it easy to make + install distinct plugins. Additionally, my gut tells me that the interfaces to these various systems probably have significant, hard-to-bridge-over differences.

That being said, individual plugins for the systems mentioned in here definitely sound like great things!

@caioquirino
Copy link
Author

Shall we focus in a single one then? Like Unleash or any other vendor? I am thinking in Unleash as it is Open Source and could be installed in a private infrastructure.

@freben
Copy link
Member

freben commented Apr 29, 2021

I'll let the community choose what it feels brings the most value.

As we do this, I reckon that we'll learn things as we go. Maybe we'll discover some commonalities and implement some "least common denominator" pluggable interface in the end. But usually it's best to start specific and only then go generic.

@setchy
Copy link

setchy commented Aug 2, 2021

👍 for LaunchDarkly plugin

@janquijano
Copy link

Any traction on this feature request? +1 for Launchdarkly plugin

@dackroyd
Copy link

Is there any standard protocol or RFC for managing Feature Flags? Is it something we should look at before implementing it?

https://openfeature.dev/ might be of interest, however to be clear this is in early stages, and no implementation exists to date

@toddbaert
Copy link

👋 Hello, I'm one of the maintainers at OpenFeature. When @dackroyd made the above comment, we were indeed in the very early stages!

Since then we've been accepted as a CNCF sandbox project, and we've released stable SDKs (including TypeScript) along with providers for a few solutions, including those mentioned above. If you'd like more info, please reach out to us on our CNCF slack channel.

@ivarconr
Copy link

Hi all, I am the author of Unleash.

I think it make sense to view the current status of the feature toggles relevant for the project/team, and maybe simple operations (turn on/off), but for mode advanced use cases it might be easier to enter the tool itself, to avoid re-implementing everything,

Let me know if we can help out in any way with the integration of Unleash, which does have Open API Specifications.

@freben freben changed the title [Plugin] Feature flags/management [Plugin] managing feature flags / experimentation for entites Jan 16, 2023
@freben freben changed the title [Plugin] managing feature flags / experimentation for entites [Plugin] managing feature flags / experimentation for entities Jan 16, 2023
@freben
Copy link
Member

freben commented Jan 16, 2023

I reworded the title a bit to ensure that it's clear that the main goal, is to write Backstage plugins that interface with third party experimentation products, to manage (typically) non-Backstage systems that are being experimented on.

Of course we're happy to accept contributions of plugins that give quick and easy access to basic functionality of Unleash, OpenFeature or others!

@justinabrahms
Copy link

Open feature is the common abstraction layer for feature flag vendors. This would allow your plugin authors to speak open feature, and then the people who set up backstage can pick a flags backend that they like (many mentioned on the thread above).

@freben freben transferred this issue from backstage/backstage Apr 23, 2024
@Phiph
Copy link
Contributor

Phiph commented Jul 8, 2024

Hey team, just a question as I'm looking to implement open feature with a launchdarkly provider in my own project and would love to contribute this upstream.

Should this be a Module, or a Plugin?

@samnixon87
Copy link

@BethGriggs BethGriggs changed the title [Plugin] managing feature flags / experimentation for entities 🔌 Plugin: managing feature flags / experimentation for entities Sep 17, 2024
Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Nov 16, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests