Skip to content

Add admin setting to sync license db

Tetiana Chupryna requested to merge 398192-admin-for-ls into master

What does this MR do and why?

Issue: #398192 (closed)

We add an admin setting that allows to check which package managers should be synced with GitLab. This setting is needed for new license compliance feature for CycloneDX files. We need this feature because synchronization process can take a lot of memory (the current license data db is more than 10GB), some users might not need all of the package managers so they can user they resources more wisely.

Screenshots or screen recordings

Sidebar and Security and Compliance page

Screenshot_2023-04-05_at_12.25.14

License Compliance settings expanded

Screenshot_2023-04-05_at_12.24.39

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

Migration

up

➜  gitlab git:(398192-admin-for-ls) ✗ gdk rails db:migrate      
main: == 20230403145705 AddPurlSyncToSettings: migrating ============================
main: -- add_column(:application_settings, :package_metadata_purl_types, :integer, {:array=>true, :default=>[]})
main:    -> 0.0029s
main: == 20230403145705 AddPurlSyncToSettings: migrated (0.0250s) ===================

down

➜  gitlab git:(398192-admin-for-ls) ✗ gdk rails db:rollback:main
main: == 20230403145705 AddPurlSyncToSettings: reverting ============================
main: -- remove_column(:application_settings, :package_metadata_purl_types, :jsonb, {:null=>false, :default=>[]})
main:    -> 0.0041s
main: == 20230403145705 AddPurlSyncToSettings: reverted (0.0087s) ===================

MR acceptance checklist

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

Related to #398192 (closed)

Edited by Tetiana Chupryna

Merge request reports