Create "Protected" Feature Flag strategies
Problem to solve
As a manger of production, I don't want developers to turn on/off feature flags in production. However, as a developer, I want to be able to turn on/off my feature during development (not on production)
- Sasha (Software Developer)
- Devon (DevOps Engineer)
- Sidney (Systems Administrator)
- Priyanka (Platform Engineer)
User experience goal
The user should be able to safeguard the feature flag enablement or disablement from specific high-risk environments such as production.
A strategy will be considered protected if it includes a protected environment
If a user adds a protected environment, before saving a confirmation modal should open up saying
This strategy contains a protected environment, only permitted users will be able to edit and toggle the flag. Are you sure you want to continue?
If user confirms, there will be an indication on the strategy that this is a protected strategy
For the MVC:
- Protected strategies are derived from the inclusion of a protected environment
- Only user mentioned as allowed to deploy in the environment shall be allowed to toggle on/off this flag
- Only user mentioned as allowed to deploy in the environment shall be allowed to edit this flag
This means that a user who by mistake added a protected strategy but is not allowed to deploy to it, will not be able to remove the environment from the strategy of the flag
- Unprotect the environment (not recommended)
- Duplicate the feature flag and create separate flags per environment
In the future: a user will be able to toggle flags on/off but it will not effect the protected environments, only the ones that he/she has permissions to. so maybe we will have a visual way to show protected environments vs. non protected under the strategies and the toggle will be visible for each one independently.