Enhance license page to enumerate licensed (and unlicensed) features
Description
With license features becoming more complex, it can sometimes be unclear what features a customer's particular license level grants them. We also ran into a situation this week where the customer had been given a new license which was generated incorrectly, so they were locked out of features they should have had. We would like to improve the license page in GitLab to give a more-detailed view of exactly what the customer has licensed.
Proposal
ee/app/models/license.rb
gives a list of features grouped by license level that can be used to display features on this page, however there are two different methods of feature licensing in use:
- https://gitlab.com/gitlab-org/gitlab-ee/blob/416e8698819f9265e2f2acd53702e45f214b4a93/doc/development/ee_features.md#act-as-ce-when-unlicensed
- https://gitlab.com/gitlab-org/gitlab-ee/blob/416e8698819f9265e2f2acd53702e45f214b4a93/doc/development/feature_flags.md
Somehow, based on that knowledge, the idea would be to create a table of features on the license page that makes it easy to see at a glance what features are licensed (or not) with the currently installed license.