
A powerful and lightweight application lifecycle management framework and utility suite for building scalable Go microservices.
isp-kit provides a unified ecosystem for developing production-ready services. From configuration management to distributed tracing, it offers a structured approach to common microservice patterns, allowing you to focus on business logic rather than boilerplate.
- Application Lifecycle - Lightweight application management with graceful startup/shutdown
- Configuration Management - Flexible config system with YAML, environment variables, and hot-reload support
- Database Integration - PostgreSQL client with transaction support, migrations, and automatic schema management
- Message Queues - High-level abstractions for Kafka, RabbitMQ, and STOMP with middleware chains
- HTTP & gRPC - Production-ready servers and clients with middleware, metrics, and tracing
- Distributed Tracing - OpenTelemetry integration across all transport layers
- Metrics Collection - Prometheus-based metrics for HTTP, gRPC, Kafka, RabbitMQ, SQL, and background jobs
- Error Handling - Structured error types for HTTP and gRPC with business error codes
- Cluster Coordination - Client-side functionality for distributed configuration and service discovery
- Health Checks - Standardized health check endpoints with component-level status
| Package |
Description |
app |
Lightweight application lifecycle management with Runner components |
bootstrap |
Unified initialization framework for configuration, logging, and infrastructure |
config |
Flexible configuration management with multiple sources and type-safe retrieval |
| Package |
Description |
db |
PostgreSQL client with sqlx/pgx integration and transaction support |
dbx |
Extended database client with migrations and schema management |
dbrx |
Dynamic database client with hot-reload capability |
| Package |
Description |
kafkax |
High-level Kafka abstraction with franz-go client |
grmqx |
RabbitMQ wrapper with automatic topology declaration |
stompx |
STOMP protocol wrapper for message brokers |
| Package |
Description |
http |
Core HTTP server with middleware support |
http/httpcli |
High-level HTTP client with retries and middleware |
grpc |
gRPC server and client with hot-swappable handlers |
grpc/client |
gRPC client with load balancing and observability |
| Package |
Description |
healthcheck |
Health check registry and JSON endpoint |
requestid |
Request ID management across contexts |
retry |
Exponential backoff retry utilities |
shutdown |
Process termination signal handling |