Feature flag + License compliance policy tab/table

Merged Fernando Arias requested to merge license-compliance-policy-tab into master

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

Screen_Shot_2020-01-06_at_4.45.51_AM

Screen_Shot_2020-01-28_at_7.32.58_PM

After

Feature flag on

(The License Management under Settings->CI/CD remains unchanged) Screen_Shot_2020-01-28_at_7.32.58_PM

Non maintainer

Screen_Shot_2020-01-06_at_4.28.54_AM

Screen_Shot_2020-01-19_at_3.48.05_PM

Maintainer

Screen_Shot_2020-01-19_at_4.00.55_PMScreen_Shot_2020-01-19_at_4.01.06_PM Screen_Shot_2020-01-19_at_4.01.20_PM

Feature flag off

Screen_Shot_2020-01-06_at_4.45.51_AM

License status updates

Screen_Shot_2020-01-22_at_11.10.17_AM

Screen_Shot_2020-01-22_at_11.10.22_AM

Screen_Shot_2020-01-22_at_11.10.35_AM

Screen_Shot_2020-01-07_at_1.08.13_AM

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

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
Edited by Fernando Arias