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. + +
+Approving a change applies the change automatically. +
+ +## Find flags with pending approvals + +On the Feature Flags search page, toggle the **Pending Approvals** filter to view flags with changes awaiting approval. + +## Further reading + +{{< partial name="whats-next/whats-next.html" >}} diff --git a/content/en/feature_flags/concepts/migration_tooling.md b/content/en/feature_flags/concepts/migration_tooling.md new file mode 100644 index 00000000000..34b337faa1d --- /dev/null +++ b/content/en/feature_flags/concepts/migration_tooling.md @@ -0,0 +1,23 @@ +--- +title: Migration Tooling +description: Migrate feature flags from other providers using the Datadog flag migration CLI. +further_reading: +- link: "/feature_flags/guide/migrate_from_launchdarkly" + tag: "Guide" + text: "Migrate from LaunchDarkly" +- link: "/feature_flags/guide/migrate_from_statsig" + tag: "Guide" + text: "Migrate from Statsig" +--- + +## Overview + +The [Datadog flag migration CLI](https://github.com/DataDog/dd-flag-migration) helps you migrate feature flag definitions from other feature flag providers into Datadog Feature Flags. + +Use the CLI to export flags from a source system and import them into Datadog, reducing manual recreation of flag keys, variants, and environment configuration. + +For provider-specific migration steps in your application code, see the [Feature Flags guides](/feature_flags/guide/). + +## Further reading + +{{< partial name="whats-next/whats-next.html" >}} diff --git a/content/en/feature_flags/concepts/permissions.md b/content/en/feature_flags/concepts/permissions.md new file mode 100644 index 00000000000..c7ae21f6a9f --- /dev/null +++ b/content/en/feature_flags/concepts/permissions.md @@ -0,0 +1,43 @@ +--- +title: Permissions and Access Control +description: Control who can read and write feature flags and environments in Datadog. +further_reading: +- link: "/feature_flags/concepts/approvals" + tag: "Documentation" + text: "Approvals" +- link: "/account_management/rbac/" + tag: "Documentation" + text: "Role Based Access Control" +--- + +## Overview + +Datadog Feature Flags supports organization-level permissions and granular access controls on individual flags. Use these controls to limit who can view or change flag configuration and environments. + +## Organization-level permissions + +Control access at the organization level with the following permissions: + +| Permission | Description | +|------------|-------------| +| **Feature Flag Config Read** | View feature flag configuration | +| **Feature Flag Config Write** | Create and modify feature flag configuration | +| **Feature Flag Environment Config Read** | View environment configuration | +| **Feature Flag Environment Config Write** | Create and modify environments | + +Assign these permissions through [Datadog roles](/account_management/rbac/). + +## Granular access on individual flags + +Restrict edit access on a specific flag from the flag's **Settings** page. You can limit edit access to: + +- Individual users +- Service accounts +- Roles +- Teams + +Users without edit access can still view the flag if they have read permissions at the organization level. + +## Further reading + +{{< partial name="whats-next/whats-next.html" >}}