Disable topic creation for non-admin users
Proposal
We would like to use Gitlab Topics to make repositories discovery more accessible. We experimented with populating a set of Topics as code and synchronize those over Terraform to the Gitlab instance. Yet we found out that there is no checkbox to disable users to create new topics.
This resulted in +12k topics with cryptic names, some automated via API by end users. With this large amount of topics and no possibility to disable the deployment of new topics by users, we defeat the purpose of Gitlab Topics.
The feature proposal would be to introduce a new checkbox in the Admin general panel under a new Topics Category where we could prevent users from creating new topics if not existing.
This would mean that when this checkbox is selected, new topics can only be added over the UI in the admin/topics or by API.
With this new feature we would ensure a more cohesive, well described, unique number of instance defined topics which ultimately will improve Gitlab Topics exploration.
High Level Implementation Plan
-
Add field to the database via a db migration (application_settings table?) - default value should mimic the current behaviour (see similar MR? !123129 (merged)) -
Modify behaviour of topics (UI and API) to observe the flag/field/setting -
Add setting to the UI -
Add setting to the API -
Update documentation