Draft: Add access permission fields to CI secrets form
What does this MR do and why?
Partially implements #424458 (closed). This follows the Figma designs.
This MR adds the access permission fields to the secrets form, with the following behavior:
- User can select multiple users/roles and multiple permissions
- User can add multiple access permissions. The form will automatically create new fields when the existing fields have input.
- User can delete existing access permissions. The last row will not show the delete button.
- Access permissions are detailed in the preview modal when the user clicks on the submit button.
- Roles are listed one by one
- Only user count are shown for users
There is no backend implementation yet, so data is currently mocked for the frontend for now. Form validation will also be implemented in future MRs. This is just to add the access permission fields to the form.
Please refer to the implementation plan below for the changes that will be implemented in the next iterations:
| Iteration | MR |
|---|---|
| Make environments dropdown reusable | !138464 (merged) |
| Create base form with preview modal and key, value, description, expiration, and rotation fields | !146228 (merged) |
| Add environment dropdown | !147141 (merged) |
| Add access permission dropdowns, with user search |
|
| Integrate apollo and add form submission |
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
| Before | After |
|---|---|
![]() |
Screen_Recording_2024-03-22_at_23.22.47 |
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
- Enable the
ci_tanukey_uifeature flag to your root group or namespace. Refer to this diagram on how the feature flag works. - Visit
<path-to-project-or-group>/-/secrets/newto view the form. - Verify the behavior for access permissions.
