walgit: Database-free single binary: S3 buckets as Git servers
tobi/walgit
About the project
walgit is a Git server that uses S3 or GCS buckets as its backend. It requires running only a single binary, with no database, leader nodes, or local state management. Every machine acts as an ephemeral cache backed by the bucket, making the bucket itself the source of truth for the repository.
Implemented in Rust based on the 'Continuity' architecture proposed by Cursor, walgit stores the write-ahead log (WAL) in object storage and treats on-disk repositories solely as caches. Compare-and-swap (CAS) mechanisms handle consensus, eliminating the need for elections or quorums. Any instance can accept pushes, and in the event of a conflict, only one succeeds.
Unlike the existing GitHub Spokes approach, which relies on local NVMe and replication sets, walgit handles repositories larger than the machine itself. It reads packfiles remotely and serves clone data as static files from buckets or CDNs rather than from the server. By using bundle-uri to download the latest full bundle and chained daily data, it minimizes server load.
It supports Smart HTTP v0/v2, Git LFS, a web UI, JSON API, webhooks, and per-repository push policies. S3-compatible stores (AWS, MinIO, R2, etc.) and GCS are supported as first-class citizens. It is suitable for developers hosting monorepos on small machines or building Git infrastructure in serverless environments.
tobi/walgit
The original page has no description.
Rust
This introduction was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report errors, attribution issues, or removal requests via Contact.