100% OpenTelemetry Compliant • Built with DDD/CQRS • Production-Ready
TelemetryFlow is an enterprise-grade observability platform that provides comprehensive monitoring, logging, and tracing capabilities for modern cloud-native applications. Built from the ground up with Domain-Driven Design (DDD) and CQRS patterns, it delivers industrial-strength reliability with developer-friendly APIs.
- 100% OTLP Compliance - Full support for metrics, logs, and traces
- Native Protocol Support - OTLP/HTTP and OTLP/gRPC
- Zero Vendor Lock-in - Standard OpenTelemetry SDKs and collectors
- Seamless Integration - Works with existing OTEL instrumentation
- Domain-Driven Design - 27 bounded contexts with clear module isolation
- CQRS Implementation - 40+ command/query handlers for optimal performance
- Event-Driven - Comprehensive audit trails and event sourcing
- Multi-Tenancy - Hierarchical isolation (Region → Organization → Workspace → Tenant)
- 5-Tier RBAC System - Granular role-based access control
- AWS-Style API Keys - Dual-key authentication (tfk-/tfs-)
- Argon2id Hashing - OWASP-recommended cryptographic security
- MFA Support - TOTP with backup codes
- SSO Ready - Google, GitHub, Azure AD, SAML, OIDC
- Complete Audit Trail - Every action logged to ClickHouse
- ClickHouse Backend - Columnar storage for 100x query performance
- Horizontal Scaling - Stateless authentication and distributed caching
- Redis Caching - Sub-millisecond response times
- Optimized Ingestion - Handle millions of data points per second
| Technology | Version | Purpose |
|---|---|---|
| NestJS | 10.x | Enterprise Node.js framework |
| TypeScript | 5.7+ | Type-safe development |
| TypeORM | 0.3.x | Database ORM for PostgreSQL |
| ClickHouse Client | Latest | Time-series data storage |
| Passport JWT | Latest | Authentication middleware |
| Argon2 | Latest | Password hashing |
| OpenTelemetry SDK | 0.208+ | Self-instrumentation |
| Swagger | Latest | API documentation |
| Technology | Version | Purpose |
|---|---|---|
| Vue 3 | 3.4+ | Progressive JavaScript framework |
| Vite | 7.x | Lightning-fast build tool |
| TypeScript | 5.7+ | Type-safe development |
| Naive UI | 2.37+ | Component library |
| Pinia | 2.1+ | State management |
| Apache ECharts | 5.5+ | Data visualization |
| UnoCSS | Latest | Atomic CSS engine |
| Database | Version | Purpose | Performance |
|---|---|---|---|
| PostgreSQL | 15+ | Metadata & users | ACID compliance, JSON support |
| ClickHouse | 23+ | Telemetry data | 100x faster than PostgreSQL for analytics |
| Redis | 7+ | Cache & sessions | Sub-millisecond response times |
✅ Completed Features:
- Full OTLP support (metrics, logs, traces, exemplars)
- API Key authentication (Phase 3)
- 5-Tier RBAC system
- Multi-tenancy architecture
- DDD/CQRS implementation (40+ handlers)
- 27 backend modules
- Modern Vue 3 frontend with Soybean Admin
- Comprehensive Swagger documentation
- Complete test infrastructure (280+ tests, 88-92% coverage)
| Metric | Count | Notes |
|---|---|---|
| Backend Modules | 27 | Bounded contexts (DDD) |
| Frontend Modules | 12+ | Feature modules |
| CQRS Handlers | 40+ | Commands + Queries |
| API Endpoints | 120+ | RESTful APIs |
| Database Tables (PostgreSQL) | 35+ | Metadata & users |
| Database Tables (ClickHouse) | 10+ | Telemetry data |
| Lines of Code | 110,000+ | TypeScript |
| Test Cases | 280+ | Unit + E2E |
| Test Coverage | 88-92% | Backend modules |
| Documentation Pages | 203 | Comprehensive docs |
| OpenAPI Spec | 2,866 lines | Complete API spec |
| Docker Services | 5 | PostgreSQL, ClickHouse, Redis, Backend, Frontend |
- ✅ 100% OpenTelemetry Compliant - Full OTLP support for metrics, logs, traces
- ✅ Enterprise Security - AWS-style API keys with Argon2id hashing
- ✅ High Test Coverage - 88-92% backend coverage with 280+ tests
- ✅ Complete Documentation - 203 pages of comprehensive documentation
- ✅ OpenAPI Specification - 2,866 lines of detailed API documentation
- ✅ DDD/CQRS Architecture - 27 bounded contexts with 40+ handlers
- ✅ Multi-Tenancy - Hierarchical isolation with automatic context injection
- Domain-Driven Design - Clean architecture with clear module boundaries
- CQRS Pattern - Optimized read/write operations
- Event Sourcing - Complete audit trail in ClickHouse
- Type Safety - 100% TypeScript across frontend and backend
- Performance - ClickHouse provides 100x query performance vs traditional SQL
- Scalability - Stateless authentication enables horizontal scaling
- 5-Minute Setup - Bootstrap complete platform with
pnpm bootstrap - Hot Module Reload - Vite 7 provides lightning-fast HMR
- Interactive API Docs - Swagger UI with live testing
- Comprehensive Examples - Integration guides for 7+ programming languages
- Clear Error Messages - Detailed validation errors with fix suggestions
✅ Authentication
- JWT with refresh tokens
- TOTP-based MFA (Google Authenticator, Authy)
- SSO (Google, GitHub, Azure AD, SAML, OIDC)
- API keys with Argon2id hashing
✅ Authorization
- 5-tier RBAC system
- Permission-based access control (22 permissions)
- Multi-tenant data isolation
- Workspace-level resource quotas
✅ Audit & Compliance
- Complete audit trail in ClickHouse
- All API key operations logged
- User action tracking
- Security event monitoring
✅ Data Protection
- Encryption at rest (optional)
- TLS/SSL for data in transit
- Password complexity requirements
- Automatic session timeout
| Standard | Status | Notes |
|---|---|---|
| SOC2 Type II | ✅ Ready | Audit trail, access controls, encryption |
| ISO 27001 | ✅ Ready | Information security management |
| GDPR | ✅ Ready | Data privacy, right to erasure, consent |
| HIPAA | Additional encryption required | |
| PCI DSS | Additional controls required |
| Provider | Status | Documentation |
|---|---|---|
| AWS | ✅ Ready | ECS, EKS, RDS, ElastiCache |
| Google Cloud | ✅ Ready | GKE, Cloud SQL, Memorystore |
| Azure | ✅ Ready | AKS, Azure Database, Redis Cache |
| DigitalOcean | ✅ Ready | Kubernetes, Managed PostgreSQL |
We welcome contributions! Here's how you can help:
-
Code Contributions
- Fix bugs
- Add new features
- Improve performance
- Enhance documentation
-
Bug Reports
- Report issues on GitHub
- Provide reproduction steps
- Include logs and screenshots
-
Feature Requests
- Suggest new features
- Propose architecture improvements
- Share use cases
-
Documentation
- Improve existing docs
- Add tutorials
- Translate documentation
Apache License 2.0
Copyright 2024-2026 DevOpsCorner Indonesia
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
See LICENSE for full details.
Built with these amazing open-source technologies:
| Project | Description |
|---|---|
| NestJS | Enterprise Node.js framework |
| Vue 3 | Progressive JavaScript framework |
| ClickHouse | Fast columnar database |
| OpenTelemetry | Observability standard |
| Apache ECharts | Visualization library |
| Soybean Admin | Vue 3 admin template |
| Naive UI | Component library |
| TypeORM | TypeScript ORM |
| Vite | Next-generation build tool |
| Pinia | Vue 3 state management |
Special thanks to all contributors and the open-source community!
| Operation | Performance | Notes |
|---|---|---|
| Metric Ingestion | 100K/sec | Single node |
| Log Ingestion | 50K/sec | Single node |
| Trace Ingestion | 10K/sec | Single node |
| Query Latency (p50) | 50ms | Aggregated metrics |
| Query Latency (p99) | 200ms | Complex queries |
| UI Response Time | < 100ms | Dashboard loading |
| Storage Efficiency | 10:1 | Compression ratio |
| Concurrent Users | 1,000+ | WebSocket connections |
Coming Soon: Public demo environment
Built with ❤️ by DevOpsCorner Indonesia
Version: 1.0.0-CE | Status: Production Ready | License: Apache 2.0
⭐ Star this repository if you find it useful!
🐛 Report bugs via GitHub Issues
💡 Share ideas via GitHub Discussions