Skip to content

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 👈 You are here!
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
Screenshot_2024-03-22_at_23.24.42 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.

  1. Enable the ci_tanukey_ui feature flag to your root group or namespace. Refer to this diagram on how the feature flag works.
  2. Visit <path-to-project-or-group>/-/secrets/new to view the form.
  3. Verify the behavior for access permissions.
Edited by Mireya Andres

Merge request reports

Loading