Settings templates for administrator options

Description

GitLab is used by a range of customers, who each have their own special requirements for it. Some common scenarios:

  • Single-tenant private setup, possibly isolated behind a corporate firewall
  • Multi-tenant setup but still private to the set of involved organisations
  • Small-scale public service (i.e., on-premises installation for an open-source project)
  • Large-scale public service (i.e., GitLab.com)

GitLab has a large number of configuration options, and only one set of default values. Managing these configuration options is time-consuming, and the defaults must necessarily be conservative, taking into account all possible use cases. Since configuration management is time-consuming, there is significant pressure against adding more configuration options, limiting the flexibility of GitLab in some circumstances. Nobody wants to be buried in options

Proposal

We could introduce templates that apply to all administration options, optimising GitLab for particular use cases. All existing settings would remain, but many could be hidden behind "advanced settings" walls.

A template would either specify values for all configuration options, or for a subset of them all. The typical scenario would be that a customer picks one from the first set, and 0-n from the second, to decide how their installation will operate.

Links / references

Assignee Loading
Time tracking Loading