Why
There is no per-repository storage/ref/metadata quota:
- A contributor can push many branches under
refs/heads/contrib/<name>/. - Any writer can create unlimited issues/comments/requests; every page load re-reads them.
- A maintainer can upload large LFS objects/artifacts.
Scope
- Add per-repository limits: max refs, max metadata entries, max metadata bytes, max repo size, max LFS/artifact bytes.
- Add per-account write rate limits for issues/comments/requests.
- Cap branch/tag listing and activity feeds on read.
- Make
open_registration=falseandopen_registration_role="none"the production baseline. - If open registration is enabled, rate-limit account creation and restrict the role to
none|read|contribute.
Acceptance
- One contributor or maintainer cannot make every anonymous page slow or fill the disk without hitting a configured quota.