diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml index 30c4b1aeeb5..47de9a28640 100644 --- a/config/_default/menus/main.en.yaml +++ b/config/_default/menus/main.en.yaml @@ -6092,6 +6092,21 @@ menu: parent: feature_flags_concepts identifier: feature_flags_concepts_notifications weight: 308 + - name: Permissions and Access Control + url: feature_flags/concepts/permissions + parent: feature_flags_concepts + identifier: feature_flags_concepts_permissions + weight: 311 + - name: Approvals + url: feature_flags/concepts/approvals + parent: feature_flags_concepts + identifier: feature_flags_concepts_approvals + weight: 312 + - name: Migration Tooling + url: feature_flags/concepts/migration_tooling + parent: feature_flags_concepts + identifier: feature_flags_concepts_migration_tooling + weight: 313 - name: Flag History url: feature_flags/concepts/flag_history parent: feature_flags_concepts diff --git a/content/en/feature_flags/concepts/approvals.md b/content/en/feature_flags/concepts/approvals.md new file mode 100644 index 00000000000..35da85d25ec --- /dev/null +++ b/content/en/feature_flags/concepts/approvals.md @@ -0,0 +1,69 @@ +--- +title: Approvals +description: Require approvals before feature flag changes apply in production environments. +further_reading: +- link: "/feature_flags/concepts/permissions" + tag: "Documentation" + text: "Permissions and Access Control" +- link: "/feature_flags/concepts/notifications" + tag: "Documentation" + text: "Notifications" +- link: "/feature_flags/concepts/environments" + tag: "Documentation" + text: "Environments" +--- + +## Overview + +Approvals help you control what changes are made to feature flags and by whom. In addition to [granular access control](/feature_flags/concepts/permissions/), you can require approvals for changes to certain flags or production environments before those changes take effect. + +## Require approvals on an environment + +1. Mark the environment as a [production environment](/feature_flags/concepts/environments/#production-environments). +2. Navigate to **Feature Flags > Settings > Environments**. +3. Select the environment and enable the option to require approvals. + +After you enable approvals, subsequent changes that impact application behavior in that environment require approval from a user with edit access to the flag. Examples include: + +- Enabling or disabling the flag +- Modifying targeting rules +- Archiving the flag + +## Require approvals on a feature flag + +### New flag + +When creating a flag, toggle **Require approval on changes to this flag for all production environments** to enable approvals for that flag in every production environment. + +### Existing flag + +1. Navigate to your flag's details page. +2. Open **Settings > Approvals**. +3. Toggle **Require approval on changes to this flag for all production environments**. + +## Approval workflow + +### Submit changes for review + +When you make a change that requires approval, a **Submit Changes For Review** modal appears. The modal prompts you to: + +- Enter a description of the change +- Select a [notification channel](/feature_flags/concepts/notifications/) for the approval request + +You can delete a pending change after creating it if you need to modify the submission. + +### Approve or reject + +Approvers see a diff, a description of the change, and the affected environment. They can approve or reject the change. + +