Skip to content

Add group encryption key frontend

What does this MR do and why?

Adds group encryption key frontend so each organization is able to en-/decrypt CI variables in the database with their own key. This is part of issue #378386 (closed) and supersedes MR !112549 (closed). The database model is created in the previous MR !112679 (closed), the backend in the MR !112681 (closed). So only the last commit in the MR is actually relevant here.

Screenshots or screen recordings

gitlab-encryption-keys

How to set up and validate locally

  1. Visit any group CI/CD settings page such as http://127.0.0.1:3000/groups/flightjs/-/settings/ci_cd and expand the "Encryption Key" panel.
  2. Enter an encryption key for this group and save it.
  3. All variables in this group are now encrypted using the custom encryption key.
  4. To remove a custom encryption key and use the global/instance encryption key, leave the encryption key field empty and save it.
  5. All variables in this group are now encrypted using the global encryption key.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Pascal Zumkehr

Merge request reports