Introduction
Ginboot is an enterprise-ready Go web framework built on Gin, with database-agnostic repositories, AWS Lambda support and OpenTelemetry built in.
Ginboot is a lightweight and powerful Go web framework built on top of Gin. It takes the Spring Boot approach — opinionated defaults, batteries included — and applies it to Go, so you can go from an empty directory to a production-ready API without assembling the plumbing yourself.
New here? The Getting Started guide takes about five minutes, and start.ginboot.com will scaffold a project for you.
Start here
Getting Started
Scaffold a project or install Ginboot into an existing Go module, then run your first server.
Core Concepts
The server lifecycle, declarative configuration, controller-based routing and error handling.
Features
Databases, authentication, caching, service-to-service calls, Lambda, telemetry and more.
Advanced & Operations
BDD testing, deploying to AWS Lambda with SAM, Ginboot Cloud, and release notes.
Why Ginboot
- Database agnostic — a single
GenericRepository[T]interface over MongoDB, SQL and DynamoDB, giving you CRUD and pagination with almost no code. See Database Support. - Runs anywhere — the same controllers serve HTTP locally and API Gateway events on AWS Lambda, with the runtime detected automatically. See AWS Lambda Support.
- Declarative configuration —
ginboot.ymlplus automatic.envloading and environment variable injection, read back through a typedserver.Config(). See Configuration. - Pluggable telemetry — an optional OpenTelemetry plugin (
ginboot/telemetry) ships traces, metrics and logs to Grafana or any OTLP backend without bloating the core. See Telemetry. - Context-bound logger —
ctx.Logger().Info(...)correlates every log line with the active distributed trace. - Service-to-service calls —
ctx.CallService(...)resolves targets from config, environment or DNS and propagates W3C trace and auth headers. See Inter-Service Communication.