License compliance policy rework
!22465 (merged) and !24831 (merged).
Fixes bad merge ofThis MR takes the original work done in !22465 (merged) combines it with !24831 (merged), and adds the fixes done in the abandoned MR !25300 (closed).
Approach:
Re-apply the two reverted commits (!25317 (merged)) & (!25311 (merged)) + the fix in !25300 (closed)
What does this MR do?
This merge request implements the Policy tab for License Compliance. It re-uses and refactors the License Management UI from Settings -> CI/CD. It refactors the license management store into a vuex module. We should verify the legacy screen works as well. (I've done some manual testing as well as updated the unit tests).
Sub - Issue
Implement license policy feature flag and table - #195171 (closed)
Parent issues are:
Add license "Policy" tab to 'License Compliance' page so that users can easily see existing license policies when viewing licenses - #14061 (closed)
Allow user to add and edit license policies - #34698 (closed)
Add search capability to License List - #34178 (closed)
Incorrect sidebar unfurl for Security & Compliance subpages - #198268 (closed)
Feature flag
Feature flag is named license_policy_list
Screenshots
Before
After
Feature flag on
(The License Management under Settings->CI/CD remains unchanged)
Non maintainer
Maintainer
Feature flag off
License status updates
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team