Add admin setting to sync license db
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
License Compliance settings expanded
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.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #398192 (closed)