vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Budget only the untrusted write role
e5542ac6b64fa3ebaf62af4831e55996dba45e7e · Keenan Nemetz · 12d ago · parent 9e8cc155
Budget only the untrusted write role Maintainers and admins are trusted roles: they can already change the rules, push shared branches and run the instance, so a write budget would slow their work without bounding anybody who could not do worse. The budget now applies only below maintain, which is the contribute role and the read-only accounts that cannot write at all. The setting is named for what it does: contributor_writes_per_hour. The role is the effective one on the repository, so an instance-wide maintainer on a public repository is exempt for the same reason a repository maintainer is.
server/web/status.go +1−1
| @@ -372,7 +372,7 @@ func (w *Web) statusConfig() *statusConfigView { | |||
| 372 | 372 | configSetting("repo_max_metadata_bytes", byteSetting(cfg.RepoMaxMetadataBytes), quotaNote(cfg.RepoMaxMetadataBytes)), | |
| 373 | 373 | configSetting("repo_max_bytes", byteSetting(cfg.RepoMaxBytes), quotaNote(cfg.RepoMaxBytes)), | |
| 374 | 374 | configSetting("repo_max_lfs_bytes", byteSetting(cfg.RepoMaxLFSBytes), quotaNote(cfg.RepoMaxLFSBytes)), | |
| 375 | configSetting("account_writes_per_hour", fmt.Sprintf("%d", cfg.AccountWritesPerHour), quotaNote(int64(cfg.AccountWritesPerHour))), | ||
| 375 | configSetting("contributor_writes_per_hour", fmt.Sprintf("%d", cfg.ContributorWritesPerHour), quotaNote(int64(cfg.ContributorWritesPerHour))), | ||
| 376 | 376 | }}, | |
| 377 | 377 | {Name: "Anonymous read limits", Settings: []statusSetting{ | |
| 378 | 378 | configSetting("git_http", yesNo(cfg.GitHTTP), gitHTTPNote), | |