Instance and group project templates
Project templates are a useful way to get start projects quickly, skipping the need for creating lots of configuration files and boilerplate. This is particularly useful if for creating new micro-services quickly in a common style. We should allow organizations to manage their own project templates for instances and groups.
Two of the major requests to enhance Project Templates are:
- add custom templates
- disable templates
I think they can be addressed at the same time with the following approach: add a way to manage existing templates (add/remove), and make vendored templates the same as custom templates, but already there.
Here are some covered use cases:
- make no changes to default installation (you have vendored templates only)
- add your own templates (and you have both vendored and custom)
- add your own templates and remove vendored ones (you have only what you need)
- just remove vendored ones (same effect as disable templates)
Proposal
- Admin may enable/disable vendor project templates
- Admin may select a group that contains the instance projects templates
- Every project in this group will be available as project template when creating a new project
- Group master can select a sub group that contains project templates
- Users when creating a new project will see group templates from every group they have permissions to create a new project in, instance templates and vendor templates
Previous proposal
Add the ability to manage templates (add/remove) at instance level, and make it easy for admins to create their own templates.We need at least these procedures, even just from the command line:
- add/remove templates from the instance
- create a project template starting from an existing project
Using what we use to create vendored templates should be a good start, then we can create a friendly interface in the UI.