Group project templates should be a Silver/Premium feature
Summary
After a discussion on Slack, @praumann mentioned that he was able to access to group project templates, but not instance level project templates. This raised some alarm bells, since both should be Premium features.
After some testing, it appears that group project templates are available to ALL groups on GitLab.com. We should:
- Determine a course of action,
- Make any identified changes, and
- Consider how we might be able to protect against these issues in the future.
Reproducing
- Create a private group on GitLab.com.
- Note in the
/billing
section for this group that it's a Free group. - Add a template subgroup and a sample template project.
- Navigate to the General settings for the private group you created in step 1.
- Note that the "custom project templates" section is available. Configure it by pointing it to the template subgroup and hitting Save changes.
- Create a project. You should be able to select the sample template project in the "Create from template" tab.
Proposal
- Correct the bug and make group-level project templates only available for Premium/Silver.
- We run the risk of deeply frustrating any existing users/customers who are currently using this feature, who may say this is in violation of never moving features up. I disagree, however, since we've never signaled that this is intended to be a Free feature (docs are Premium).
- Allow any Free groups currently using the feature to continue using it for a limited time (3 months). At the end of the 3 months, we enforce this for all groups.
Proposed correction
-
The "Custom projects template" group setting should only be available if the group:
- Is in a Silver/Gold group namespace (or is a subgroup of a namespace that's Silver/Gold) on GitLab.com
- Is operating on a Premium/Ultimate instance that is not GitLab.com
-
The custom projects available to a user in the "Group" tab of the "Create from template" tab in
projects/new
:- If a namespace has group project templates configured and that user is a member of that namespace, the templates should be available to the user in the "Group" tab.
If a group isn't Bronze/Silver/Gold, they shouldn't be able to configure this feature (and therefore, members won't see any templates available to them from that namespace).
Edited by Jeremy Watson (ex-GitLab)