Add duo_remote_flows_enabled cascading setting
What does this MR do and why?
Add duo_remote_flows_enabled cascading setting
- Currently
duo_remote_flows_enabledis a project setting - This MR uses cascading settings framework to add this attribute to
namespace_settingandapplication_settingand follow the cascading settings writes
Number of records that would be updated in project_settings table in the BBM: 44009849
References
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
Instance Level Settings
- Prerequisites: Log in as an admin user and ensure Duo features are set up locally
- This is a default enabled setting. You can check it by
ApplicationSetting.current.duo_remote_flows_enabled -
Test inheritance: Create an issue in any project and you should see
Generate MR with Duobutton if their experimental settings are enabled. -
Disable instance-wide:
ApplicationSetting.current.update!(duo_remote_flows_enabled: false)
Group Level Settings
-
Disable for specific group:
group = Group.find_by_full_path('your-group-path') group.namespace_settings.update!(duo_remote_flows_enabled: false) -
Test inheritance: Create an issue in any project within this group and you should not see
Generate MR with Duobutton on the issue. -
Test override: Set a project to explicitly enable:
project.project_setting.update!(duo_remote_flows_enabled: false)Verify Duo Remote Flows is enabled only for this project.
Project Level Settings (Default enabled)
- Project-level behaviour should be default enabled.
- Projects can still explicitly enable/disable the feature
-
nilvalues now inherit from parent settings instead of defaulting tofalse
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #561768 (closed)
Edited by Surabhi Suman