HeadlinesBriefing favicon HeadlinesBriefing.com

Git Over Object Storage: A Go Experiment with Tigris

Hacker News •
×

A Go developer hacked an object‑storage bucket into a git‑ready filesystem, letting the popular pure‑Go git library go‑git treat it as a real repository. The trick hinged on the billy abstraction, which taught a Tigris bucket to mimic file operations long enough for shell tools to stay ignorant today version.

Git stores data as blobs, trees, commits, and refs, all content‑addressed except the tiny mutable refs. That structure matches Tigris’ append‑only model, so the author could map git objects straight into the bucket. The only extra operation needed was MkdirAll, after which pushes, pulls, and tags worked seamlessly everywhere today.

The resulting server, objgit, runs as a Go binary with no local state, exposing HTTP, git://, and SSH transports. It stores all repo data—including generated SSH keys—in the same bucket, enabling deployment in Kubernetes with only a transient cache. No authentication layer was added for this proof of concept today.

While the project remains experimental and lacks robust authentication, it demonstrates that git’s low‑level format can survive on an object store, eliminating the single‑machine failure risk of traditional hosting. The experiment invites further work on scalability, security, and integration with existing CI/CD pipelines for modern devops teams today and future.