Walgit – a Git server that is one binary in front of an object store
Walgit is a Git server that runs as a single binary in front of an object store such as S3 or GCS, with no database, no leader, and no durable local state. It supports smart HTTP v0/v2 fetch and push, bundle-uri clones served as static files, Git LFS, a browsing web UI, a JSON API with SDK, per-repository push policy, and webhooks. A push to a new repository name automatically creates the repository, so the entire deployment is one binary, a bucket, and a config file.
As the excerpt shows, setting it up requires just a TOML config (listener, public URL, token auth, bucket) and running `walgit serve`. After that, a git push with a Bearer token to a new repo name creates the repo. Additional machines pointed at the same bucket serve the same repositories with no coordination; every machine is a disposable cache and the bucket is the repository, so killing all machines loses only warmth, not data.
The design is motivated by Git's packfile format, which compresses objects into large binary packs laid out for size rather than sequential reads, making every Git operation a random walk over gigabytes. That works on a laptop with page cache but fails over network filesystems, which is why NFS-based hosting has failed at large scale. GitHub's Spokes keeps real repositories on local NVMe and replicates at the packfile level with three-phase commit, requiring a database mapping repositories to machines and a fleet of pets.
Continuity, the architecture Cursor described in 'Git at any scale,' changes the economics by making a write-ahead log in object storage the source of truth and every on-disk repository a cache. A push is stored as an immutable object in the bucket and becomes visible only when a tiny manifest is rewritten with a compare-and-swap (CAS). This CAS acts as the consensus mechanism — no election, no quorum, no primary. Any instance may accept a push, but two racing instances cannot both win. Walgit is a Rust implementation of this architecture, adapted to run on machines smaller than the repository it serves.