Awesome Go

kickstart.go

CategoryMiscellaneous
SubcategoryProject Layout
Stars112

Minimalistic single-file Go HTTP server template without third-party dependencies

About kickstart.go

kickstart.go

.github/workflows/build.yaml Go Report Card Coverage Status Mentioned in Awesome Go

Minimalistic HTTP server template in Go — single file, only standard library. Not a framework, but a starting point for building HTTP services.

Try it

$ 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}

PORT defaults to 8080. Set PORT=0 to let the OS choose an available port; the startup log reports the assigned port.

Features

  • Graceful shutdown with SIGINT/SIGTERM signal 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

Start your own project

  • Use this template to create a new repository, or fork it
  • Find and replace all raeperd/kickstart.go with your repository name

Reference

Frequently Asked Questions

What is kickstart.go?

kickstart.go is a Miscellaneous library for the Go programming language. Minimalistic single-file Go HTTP server template without third-party dependencies

How do I install kickstart.go?

Install kickstart.go with the Go module system using `go get raeperd/kickstart.go`. Check the repository for the current installation instructions.

What category does kickstart.go belong to?

kickstart.go is listed under Miscellaneous, specifically Project Layout.

← Back to Project Layout