walgit es un servidor de repositorios Git escrito en Rust que elimina la necesidad de bases de datos, nodos líderes o estado local persistente. Su diseño se reduce a un único binario que apunta a un bucket de S3 (o compatible, como MinIO, R2 o Ceph) o de Google Cloud Storage: el bucket se convierte en la fuente de verdad y cada máquina que ejecuta walgit actúa como caché prescindible.
El proyecto es una implementación en Rust de la arquitectura descrita por Cursor en el artículo 'Git at any scale', el sistema que esa compañía denomina Continuity. La idea central es usar un registro de escritura anticipada (WAL) en almacenamiento de objetos como origen de los datos. Cada push se almacena como objeto inmutable en el bucket y solo se hace visible cuando un manifiesto pequeño se reescribe mediante compare-and-swap, que actúa como mecanismo de consenso: sin elección, sin cuórum y sin nodo primario. Cualquier instancia puede aceptar un push; dos pushes simultáneos no pueden ganarse mutuamente.
Entre sus capacidades destaca el soporte del protocolo Git mediante HTTP inteligente (versiones v0 y v2), clonaciones mediante bundle-uri servidas como archivos estáticos, compatibilidad con Git LFS, una interfaz web de navegación, una API JSON con SDK propio (repos.js), políticas de push por repositorio y webhooks. El sistema escala a repositorios más grandes que la máquina que los sirve, porque las referencias y la historia reciente se conservan en local mientras los blobs permanecen en el bucket y se leen mediante peticiones HTTP por rangos.
walgit también incorpora autenticación mediante tokens u OpenID Connect, listas de permitidos, compactación geométrica y un módulo de mantenimiento autocurativo que recalcula el estado deseado a partir de la configuración y del WAL en cada pasada. El texto original describe con detalle el flujo de un push, de una lectura y de los distintos modos de ubicación de los datos (serve, maintain y full) según el tamaño del repositorio y del equipo disponible.
