EmerisHQ / demeris

Emeris web app

Home Page:https://app.emeris.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Create a Feature Service

eitjuh opened this issue · comments

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