Add Container Registry limitations
Description
As it is now, the container registry feature has no limitations. You either turn it on, or off for the entire installation. If you turn it on, and set it by default off, then all project administrators can enable it .
Proposal
I propose that container registry has a site-wide administrative configuration under "Account and Limit Settings" similar to "Default projects limit" that reads, "Allow Container Registry enabling", set to "No" by default.
If it was set to "No", but container registry was configured in gitlab.rb, then an admin could edit a project (https://example.org///edit) and have a check box "Enable Container Registry", right next to "LFS Git Large File Storage".
When that is checked, then in projects// there would be an additional entry that read "Container Registry: /"
This way Container Registry could be enabled per-project, and not site-wide.
An additional element to container registry limitations is the size issue. As described in http://docs.gitlab.com/ce/administration/container_registry.html#storage-limitations:
Storage limitations
Currently, there is no storage limitation, which means a user can upload an infinite amount of Docker images with arbitrary sizes. This setting will be configurable in future releases.
That could be also configured per-project, with a "Default Container Registry size" limitation set in the admin, but configurable per-project. However, the storage limitation issue I would suggest not implementing as a first step, and just implement the enabling/disabling of container registry per-project, by the site admin, first. The reason for this is that this might be better served by a different issue request, where further discussion about that could happen.