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

Create a Feature Service #949

Open
eitjuh opened this issue Feb 8, 2022 · 1 comment
Open

Create a Feature Service #949

eitjuh opened this issue Feb 8, 2022 · 1 comment
Assignees

Comments

@eitjuh
Copy link
Contributor

eitjuh commented Feb 8, 2022

Currently we are using environment variables as feature flags.
We have used this, as a simple hack, to have at least something in place to control feature flags rather than nothing.

Downsides:

  • env variables are not runtime, so we need to trigger a new build upon changing them
  • env variables are shown as if they are secrets (rightfully so, we just abused them).
  • Not everyone has access to Netlify to modify env variables

New solution reqs:

  • Would be nice to implement in the UI here: https://admin.emeris.com/
  • Would be nice if it's a separate service which can run independently (meaning we could also use it for any other product)
  • Would be nice to keep in mind that in the future we might want to encrypt the feature names, to make it more difficult to browse our frontend code
  • Would be nice to keep 3 different environments in mind: develop/staging/production , so we can use VUE_APP_FEATURE_USE_DEV and VUE_APP_FEATURE_USE_STAGING

Specific implementation on Emeris:

  • Initially we can extend the current FeatureManager with the features coming from the admin UI - to ensure the existing env vars still work.

Similar example you can spy from:
CNS Server (for updating/adding Chains)
https://github.com/allinbits/emeris-cns-server

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants