Product Discovery for Group License Management

Problem to solve

We want to define approved/blacklisted licenses at group level. This creates rules that are applied to any project in the group (also, subgroups).

Target audience

Delaney, our Development Team Lead

Further details

We can reuse a similar approach of the project settings page, but we need to define:

  1. which rule has precedence (group/project)?
  2. in case is project, do we want to allow enforcement from group level?
  3. how users can see rules from project?
  4. when looking at the report, how to identify if it is a group/project rule?
  5. when adding a new rule from a report, where will it be stored?

Areas we need to cover:

Merge Request Widget
Cases Addressed yet?
1 Group maintainer experience ✅
2 Non-group, project maintainer expereince ✅
3 Developer and other non-maintainers experience ✅
License settings / project level
Cases Addressed yet?
1 License policy locked ✅
2 License policy unlocked ✅
3 Adding a new license ✅
License settings / group level
Cases Addressed yet?
1 license policy locked ✅
2 license policy unlicked ✅
3 Add new license ✅
4 Remove license ✅
Pipelines / License report
Cases Addressed yet?
1 TBD TBD
Edge Cases
Case Addressed yet?
1 TBD TBD

Design

Group Settings

Group License Settings
Screen_Shot_2019-03-07_at_2.17.36_PM

Project Settings

Project License Settings
Screen_Shot_2019-03-07_at_2.19.06_PM
Project License Settings all group default Project License Settings 1 license overriden
Screen_Shot_2019-03-07_at_2.19.06_PM Screen_Shot_2019-03-07_at_2.26.50_PM
Black opacity will not be in the experience, just used to show which license was changed

In MR

MR Widget
Screen_Shot_2019-03-07_at_2.19.51_PM
License with Group Rule License without group rule New license
Screen_Shot_2019-03-07_at_2.21.01_PM Screen_Shot_2019-03-07_at_2.22.54_PM Screen_Shot_2019-03-07_at_2.21.06_PM

Badges

Usage Approved Blacklisted New License Group Level Setting No group rule set
Minimal of information req. Screen_Shot_2019-03-07_at_2.32.00_PM Screen_Shot_2019-03-07_at_2.32.03_PM Screen_Shot_2019-03-07_at_2.32.08_PM Screen_Shot_2019-03-07_at_2.32.10_PM Screen_Shot_2019-03-07_at_2.32.05_PM
More information req. Screen_Shot_2019-03-07_at_2.32.13_PM Screen_Shot_2019-03-07_at_2.32.17_PM Screen_Shot_2019-03-07_at_2.32.27_PM Screen_Shot_2019-03-07_at_2.32.31_PM Screen_Shot_2019-03-07_at_2.32.22_PM
Maximum information req. Screen_Shot_2019-03-07_at_2.32.15_PM Screen_Shot_2019-03-07_at_2.32.19_PM Screen_Shot_2019-03-07_at_2.32.29_PM Screen_Shot_2019-03-07_at_2.32.33_PM Screen_Shot_2019-03-07_at_2.32.24_PM

Brief Roadmap

MVC MVC with Group enforcement Future
Add group license setting page Add Override settings to Group level license page Dashboard showing which licenses exist at the group level along with override status
Auto import group licenses into projects when defined at group level IF licenses are enforced, block changes at the project level. Instance level enforcement and settings
Project dropdown add Group default option Existing licenses can no longer be changed in the MR
Licenses that exist at the Group level cannot be removed at the project level Add approver when new licenses are detected in MR
MR more info modal shows if a license exists at the group level
MR shows group icon when license exists at group level
Edited Apr 21, 2023 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading