Building a git reverse proxy in Go for Caddy
summary
Shows a Go middleware that embeds a Git reverse proxy into Caddy, handling both dumb (info/refs and object GETs) and smart (RPC over HTTP) transports by piping requests to git-upload-pack on the filesystem. Demonstrates Caddy configuration and the directive named getproxy, explains that releases require adding the plugin import to Caddy source, and proves cloning and fetches work in live demos (one repo falls back to dumb, another completes via smart RPC).
AI-written summary · about
chapters (20)
- 0:00Start
- 0:17Building a git reverse proxy in Go for Caddy
- 1:16I WILL NOT TEACH YOU HOW TO git
- 1:26lot of concepts before...
- 2:31What git really is?
- 3:00Unix Philosophy: Specialized, minimalist, modular
- 3:54Where is my code stored?
- 4:55How current ODB backend work?
- 6:31So is this how the commit object look like?
- 9:33How is the hash generated?
- 12:03Let's talk about protocol..
- 12:46The git://protocol
- 15:08The webdav://protocol
- 15:42The dumb protocol
- 17:05The smart protocol
- 18:06Let's talk about Caddy
- 18:55Let's Encrypt
- 21:22Let's try to build some plugins for caddy
- 22:08We are going to extend the Caddyfile and add a HTTP Middleware
- 22:35The Boilerplate
related talks
36mCaching Proxy Configuration on the Traffic Control CDN
28mDeep Dive: gRPC
25mBuilding a Debuggable Go Server
31mPorting Turborepo From Go To Rust
24mclient-go: The Good, The Bad and The Ugly
37mEmbedding the Containerd Runtime for Fun and Profit [I]
36mNode.js as a feature-flipping supervisor through Git
17mWebRTC: The secret power you didn't know Go has
