Track repo separately in group storage quota
Problem to solve
While we're creating a separate storage limit, we should include the storage used by a project's repo in the group-level storage indicators we're working on in issues like package limits.
However: we should consider tracking repo storage (block storage) separately from other forms of storage (object storage), especially for considering use on GitLab.com. While we'd like to offer additional object storage for artifact storage, LFS, container registry, etc, we should consider excluding the repo itself and tracking this separately.
Further details
For reference, GitHub has a soft cap for a repo's size at 1 GB and allows you to buy additional LFS.
Proposal
- Define two limits for a project's repo size: a soft limit and a hard limit.
- After the soft limit is breached, we should warn the user.
- Attempts (e.g. pushes) to increase the repo's size over the hard limit should fail.
- Display project repo sizes in group quota pages.
Permissions and Security
Setting these limits should be restricted to administrators.