Move Secrets Manager settings into the new Secure settings section
Why are we doing this work
Following the discussion in &22395 (note_3462628144), a new Secure settings section was introduced to house feature opt-ins (Dependency Firewall and Secrets Manager) in one logical place, matching the Secrets Manager opt-in/trial experience.
MR !243158 (merged) ("Add dependency firewall setting pt2") added the new Secure settings section, but it currently only contains the Dependency Firewall toggle. As noted by @ahuss7 in note_3494700250, moving the Secrets Manager settings into this section was deferred to follow-up work. This issue tracks that follow-up.
Two things to note:
- !243158 (merged) only added the Secure section for group settings. The Secrets Manager also needs a Secure section for project settings, which does not exist yet.
- Today the Secure section is gated behind the availability of the Dependency Firewall toggle (see note_3494700250). This gating needs revisiting once the section also hosts the Secrets Manager settings.
Acceptance Criteria
This only applies to SaaS; self-managed has its own settings in the instance-level.
With the redesign from https://gitlab.com/gitlab-org/gitlab/-/work_items/614103, we want to:
- Move TLG settings for secrets manager from the
Generaltab to a newSecuretab; all other levels (subgroups, projects) remain underGeneral. - If the TLG starts a trial or provisions from the secrets manager page, we show a link that says
Manage permissions settings.Make sure this is updated with the new link to theSecuresettings - Show a "New" badge in the navigation menu
- Update gating logic for the secrets manager. The settings is only visible once the TLG Owner enables the add-on or starts a trial from the secrets manager page. This cascades down; the subgroups and projects under the TLG can't view the secrets manager until the the trial/add-on is enabled.
Relevant links
- Parent epic: &22395
- Originating comment: note_3462628144
- MR that added the group-level Secure section: !243158 (merged)
- Related DFW toggle issue: #604179
- Improving discoverability (UX): https://gitlab.com/gitlab-org/gitlab/-/work_items/614103
Implementation plan
- Add a new Secure settings section for project settings (the group-level section already exists from !243158 (merged)).
- Move the existing Secrets Manager settings into the Secure section at both the group and project levels.
- Revisit the Secure section's display/gating logic so it renders correctly when the Secrets Manager settings are present (not only when the Dependency Firewall toggle is available).
- Ensure existing entry points/links to the Secrets Manager settings still resolve to the new location.
Verification steps
Enable the Secrets Manager
- Upload a Premium license (or above).
- Set up openbao and enable the secrets manager on your gdk.
- Enable the
secrets_managerandgroup_secrets_managerfeature flags. - Go to your settings (Settings > General) and expand Visibility, project features, permissions for projects, or Permissions and group features for groups. Enable the secrets manager for your project/group with the settings toggle.
- Go to
/path-to-project-or-group/secretsto view the secrets manager.
Feature verification
- Navigate to a group's settings and confirm the Secrets Manager settings now appear under the Secure section.
- Navigate to a project's settings and confirm a Secure section exists and contains the Secrets Manager settings.
- Confirm the Secrets Manager settings remain fully functional in their new location (enabling/disabling, permissions, etc.).
- Confirm the Secure section renders appropriately based on Secrets Manager availability (independent of the Dependency Firewall toggle).