Minimalistic HTTP server template in Go — single file, only standard library. Not a framework, but a starting point for building HTTP services.
$ git clone https://github.com/raeperd/kickstart.go.git && cd kickstart.go
$ make run
$ curl localhost:8080/health
{"version":"local","uptime":"1.23s","lastCommitHash":"abc1234","lastCommitTime":"2024-01-01T00:00:00Z","dirtyBuild":false}- Graceful shutdown with
SIGINT/SIGTERMsignal handling - Health endpoint with version, git revision, and uptime
- Debug endpoints (
pprof,expvar) out of the box - Structured access logging and panic recovery middleware
- Designed for testability — integration tests against a real server, no mocks
- Use this template to create a new repository, or fork it
- Find and replace all
raeperd/kickstart.gowith your repository name
- GopherCon Korea 2024 Session (in Korean) / Slides (in English)
- Inspired by Mat Ryer, earthboundkid, and kickstart.nvim