Show secrets permissions in the settings
What does this MR do and why?
Implements #554928 (closed). Requires !200758 (merged) to be merged before merging this one.
This renders the user, group, and role permissions in the Secrets Manager settings. This MR also makes sure to refresh the table after a permission is added, so that the new permission is rendered.
Note:
- We are not rendering the Expiration column since it's not being saved on the backend yet. See Frontend: Render expiration for secrets permission (#560580 - closed).
- The Actions column is empty for now. We will add the ability to delete permissions in Frontend: Allow project owners to delete secret... (#538090 - closed).
References
Implements Frontend: Render permissions list in Secrets Ma... (#554928 - closed)
Screenshots or screen recordings
Screen_Recording_2025-08-08_at_20.43.19
How to set up and validate locally
Setup
-
Pull changes from this MR and from !200758 (merged).
-
Set up openbao on your gdk. Note that with the changes from !200758 (merged), step 8 will now be:
bao write auth/gitlab_rails_jwt/role/app \ role_type=jwt \ bound_audiences=http://gdk.test:8200 \ user_claim=user_id \ token_policies=secrets_managerSee also Openbao - Local Development documentation Updat... (gitlab-development-kit!5132 - merged).
-
Enable the Secrets Manager on gdk.
-
When enabling the Secrets Manager, the Owner is automatically given permission.
Verification
- Go to your project settings (Settings > General) and expand Visibility, project features, permissions to view the permissions table. The
Ownerrole should be included by default, but you can also add your own permissions.
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.