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.

#101

P2: Load the paths that cost the server work: sign-in and uploads

closed · opened by keenan 10d ago

keenan opened this 10d ago

Why

The anonymous read path is bounded by the Git HTTP limits. The passkey ceremonies are the only anonymous endpoints that make the server compute and store state, held down by a 4096-entry ceremony map and three rate limits; and a push or an artifact upload allocates against receive_max_bytes and the LFS quota. Neither ceiling has been measured, and both are reachable by a client that has not proven anything.

Scope

Using the harness from the sibling issue:

  • Sign-in begin and finish, registration, and invite redemption, at and above the per-address, per-account, and registration limits. Check the refusals: 429 with Retry-After, and a ceremony map that stays within its cap.
  • Logout and session-protected page reads with many sessions held at once.
  • LFS and artifact uploads from several concurrent pushers, and a push refused by repo_max_bytes or a ref quota, to see that the refusal moves no refs.
  • Record RSS, file descriptors, goroutines, and child processes for the server, and for a runner too if uploads go through one.

Acceptance

  • Each path has a measured ceiling at the configured limit, recorded on the issue.
  • A refused sign-in is refused at the limit, and a refused push leaves the repository unchanged.
  • Memory and file descriptors return to their baseline after the run, with the measurement shown.

Part of #14. Depends on the load-test harness issue.

Comments (0)

No comments yet.