finds.dev← search

// the find

dunglas/vulcain

★ 3,590 · Go · AGPL-3.0 · updated Jul 2026

🔨 Fast and idiomatic client-driven REST APIs.

Vulcain is a reverse-proxy gateway that lets REST API clients declare which related resources they want pre-fetched, using custom HTTP headers (`Preload`, `Fields`) and HTTP/2 server push or 103 Early Hints to eliminate the n+1 request problem. You drop it in front of any existing API — hypermedia or not — and clients get parallel resource delivery without GraphQL's query language overhead. It's aimed at teams building or operating REST APIs who want GraphQL-like efficiency without abandoning HTTP caching and standard tooling.

The protocol-level design is sound: by riding HTTP/2 multiplexing and 103 Early Hints rather than inventing a new query layer, you keep CDN caching, standard auth middleware, and curl debugging intact. The Caddy module integration means deployment is a Caddyfile edit, not a new service. OpenAPI-based relation mapping is a practical escape hatch for APIs that can't embed hypermedia links. The IETF Internet Draft exists and is maintained in-repo, which signals this isn't vaporware.

HTTP/2 server push was deprecated and removed from Chrome in 2022, and the 103 Early Hints path still has spotty browser support — the protocol's killer feature is partly shipping on a foundation the web is walking away from. Adoption is extremely thin: 103 forks on 3,500 stars suggests people star it conceptually but don't ship it. The AGPL license will block most commercial adopters who don't read the fine print about the gateway-vs-upstream distinction. Non-JSON formats (XPath, CSS selectors) are in the spec but unimplemented in the gateway — a real gap if your API isn't JSON.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →