Introduction
Ginboot is an open-source Go web framework built on Gin, with request binding, configuration, database repositories, OpenTelemetry and AWS Lambda support built in.
Ginboot is a lightweight and powerful Go web framework built on top of Gin. It handles the code every production API ends up writing (request binding, error mapping, configuration, repositories, tracing) so you can go from an empty directory to a production-ready API without assembling the plumbing yourself. Handlers stay plain Go functions: there are no annotations, no DI container and no code generation.
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.