// the find
nytimes/gizmo
A Microservice Toolkit from The New York Times
Gizmo is NYT's internal Go microservice toolkit, open-sourced around 2015, covering HTTP servers, pubsub adapters (SQS/SNS, GCP Pub/Sub, Kafka), config loading, and GCP auth. It was useful as a batteries-included foundation before the Go ecosystem matured. It has been in maintenance mode since April 2021.
The pubsub abstraction layer is genuinely well-designed — a single publisher/subscriber interface over four backends means you can swap SQS for Kafka without rewriting your service logic. The pubsubtest package gives you real mock implementations, not just interface stubs. The server/kit integration with go-kit and gRPC shows actual production thinking: automatic Stackdriver metrics, graceful shutdown, and environment-aware logging are wired in by default rather than left as exercises. The GCP auth package covering both Identity tokens and IAM-signed JWTs is more complete than most open-source equivalents.
Maintenance mode is the elephant in the room — this was archived in spirit in 2021 and the ecosystem has largely moved past it. The observe package uses OpenCensus, which itself was deprecated in favor of OpenTelemetry; adopting this today means inheriting a dead observability stack. The server package has accumulated multiple overlapping service interfaces (SimpleService, JSONService, ContextService, MixedService, MixedContextService) that reflect years of accretion rather than deliberate design. The toolkit is also GCP-first in a way that isn't acknowledged clearly in the docs — if you're not deploying to GCP, server/kit's automatic observability registration just silently does nothing.