colibriproject-dev/colibri-sdk-go
colibriproject-dev/colibri-sdk-go has 81 GitHub stars and 16 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-11 13:39 UTC. Last push 2026-11-04.
Colibri SDK for Google Golang Stack
Measured star growth
- in 24h
- +1
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalAvailable languages: English | Português
colibri-sdk-go
A comprehensive library for building Go applications with support for multiple services and features.
Table of Contents
Introduction
colibri-sdk-go is a set of tools and libraries designed to make it easier to develop robust and scalable Go applications. The SDK provides abstractions and implementations for a variety of common services and features, allowing developers to focus on their application’s business logic.
Project Status
Actively under development.
Features
colibri-sdk-go offers the following features:
Base
- cloud: Cloud service integrations
- config: Configuration management for different environments
- logging: Flexible and extensible logging system
- monitoring: Integration with monitoring and observability tools
- observer: Observer pattern implementation for graceful shutdown
- security: Security-related functionality
- test: Testing utilities
- transaction: Transaction management
- types: Common types used across the library
- validator: Data validation utilities
Database
- Cache: Integration with cache databases (such as Redis)
- SQL: Access and management of SQL databases
Web
- REST Client: Client for consuming REST APIs
- REST Server: Server for building REST APIs
Other
- Messaging: Messaging services
- Storage: Storage services
- Dependency Injection: Dependency injection system
Installation
To install colibri-sdk-go, use go get:
go get github.com/colibriproject-dev/colibri-sdk-go
Usage
To initialize the SDK in your application:
package main
import (
"github.com/colibriproject-dev/colibri-sdk-go"
)
func main() {
// Initialize the SDK
colibri.InitializeApp()
// Your application here
}
Observability
The SDK exports OpenTelemetry traces and metrics. Traces and metrics are independent
signals: metrics are enabled by default and scrapable on /metrics with no
configuration, while traces need an OTLP collector.
| Variable | Required | Description |
|---|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT |
No | OTLP collector endpoint — accepts host:port or full URL (e.g. http://localhost:4318). Enables traces and the OTLP metric exporter |
OTEL_EXPORTER_OTLP_HEADERS |
No | Comma-separated key=value headers (e.g. api-key=secret,x-env=prod) |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT |
No | Override endpoint for the metrics signal only. Defaults to OTEL_EXPORTER_OTLP_ENDPOINT |
OTEL_SERVICE_NAME |
No | Service name reported to the backend. Defaults to APP_NAME |
OTEL_TRACES_ENABLED |
No | Kill switch for traces. Default true — traces still require a collector endpoint |
OTEL_METRICS_ENABLED |
No | Kill switch for metrics, covering both readers. Default true |
OTEL_METRICS_PROMETHEUS_ENABLED |
No | Exposes metrics on /metrics through the Prometheus registry. Default true |
Signal combinations
| Configuration | Traces | /metrics |
OTLP metrics |
|---|---|---|---|
| Nothing set (default) | off | on | off |
OTEL_EXPORTER_OTLP_ENDPOINT set |
on | on | on |
Endpoint set, OTEL_METRICS_PROMETHEUS_ENABLED=false |
on | off | on |
Endpoint set, OTEL_TRACES_ENABLED=false |
off | on | on |
OTEL_METRICS_ENABLED=false and no endpoint |
off | off | off |
With at least one signal enabled the SDK automatically:
- Emits HTTP server metrics (
http.server.request.duration, …) from its own middleware, and HTTP client metrics (http.client.request.duration) viaotelhttp - Emits SQL call and connection pool metrics (
db.sql.*) viaotelsql, and Redis pool metrics (db.client.connections.*) viaredisotel - Emits messaging, storage and recovered-panic metrics from the SDK modules
- Emits Go runtime metrics (memory, GC, goroutines) via
opentelemetry-contrib/instrumentation/runtime - Enriches every resource with
service.name,service.version, andservice.instance.id
A disabled signal gets a noop provider, so instrumented code keeps working and simply reports nothing.
Note:
OTEL_EXPORTER_OTLP_ENDPOINTshould be the base endpoint without signal-specific paths. The SDK appends/v1/tracesand/v1/metricsautomatically.
Metrics
The metrics the SDK emits, the naming, unit and cardinality conventions, and how to record
business metrics — building Attrs once, observable gauges, testing with
monitoringtest — are documented in
docs/observability/metrics.md.
Dashboards and alerts
Grafana dashboards (HTTP, messaging, data stores, Go runtime) and Prometheus alert rules for the metrics above ship in observability/, versioned with the code that emits the metrics. CI fails when one of them queries a metric the SDK does not emit.
Contributing
Contributions are welcome! Please read the Code of Conduct before contributing.
To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,830 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,395 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,473 stars