Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

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/web.go +1−1

@@ -84,7 +84,7 @@ func New(repos *repo.Store, ix *index.Store, ident *identity.Store, rs *runs.Sto
84 84 w := &Web{Repos: repos, Index: ix, Ident: ident, Runs: rs, Cfg: cfg,
85 85 Auth: auth, Ceremonies: newCeremonyStore(), Started: time.Now().UTC(),
86 86 sem: make(chan struct{}, archiveConc), gitSem: make(chan struct{}, webGitConcurrent),
87 gitWait: webGitWait, limits: newAuthLimits(cfg.AccountWritesPerHour)}
87 gitWait: webGitWait, limits: newAuthLimits(cfg.ContributorWritesPerHour)}
88 88 // The templates are parsed after the Web exists because two of the functions
89 89 // they call (who, nav) read the roster through the Web: metadata files carry
90 90 // account names, and a page should show the account name for either.