Add instance level max file size push rule
Pushing big blobs to a git repository can have several bad consequences.
I've seem at least twice this happening to one of our own repositories, and our product is not prevent nor helping educate our own internal users.
Ideally, any big blob should be stored in Git LFS. The problem is that even if just by mistake, a blob is pushed to a branch, may live forever on the server unless some non-conventional steps are taken.
There is one tool, that is opensource that can measure and identify problems related to sizes in repositories:
Code is under MIT and, as its go, we could probably integrate into gitaly or as part of our CI.
We should ideally prevent the push to succeed, before commiting the transaction, in order to preserve the repository health. The max blob size limitation should be a instance level and project level configuration (instance defines uper-max limit, and project can reduce even more). When a push with a bigger blob is being transfered, we should provide simple message telling the user that it is not allowed, and they need to use Git LFS.