Gizmo is a microservice toolkit for Go that provides standardized patterns and utilities for building server and pub/sub daemons.
The toolkit addresses the need for consistent infrastructure across microservices by offering reusable packages for common concerns. It provides standardized configuration and logging, health check endpoints with configurable strategies, structured logging with basic request information, useful metrics for endpoints, and graceful shutdown handling. The core server package includes a SimpleServer implementation capable of handling HTTP and JSON requests through multiple service types, while an optional server/kit package provides a more opinionated approach that integrates with go-kit for serving both HTTP/JSON and gRPC, with automatic monitoring, tracing, and metrics registration when running on Google Cloud Platform, AWS, or Kubernetes.
The toolkit suits teams building microservices in Go who want to standardize operational patterns across services. The server/kit package is specifically designed for services deploying to GCP, with built-in integration for Stackdriver logging, metrics, and error reporting. The observe package provides observability helpers through OpenCensus, enabling metrics and tracing with platform detection for App Engine, Cloud Run, Kubernetes Engine, Compute Engine, and AWS EC2. Teams should be aware that the project is in maintenance mode and that import paths are planned to migrate from the current structure to a versioned path, which will be a breaking change.
The project maintains a stable codebase with infrequent updates, reflecting its maintenance-mode status. Development activity is minimal, with no active feature development or rapid iteration occurring.