TelemetryFlow Platform is a full-stack monolith TelemetryFlow Observability
9.9K
TelemetryFlow Platform is a full-stack, production-ready observability and infrastructure monitoring platform. It combines a 5-tier RBAC IAM service, multi-tenant workspace management, OTLP-native telemetry ingestion, and real-time infrastructure monitoring (Kubernetes, VMs, agents) in a single integrated monolith — backed by PostgreSQL for relational state and ClickHouse for high-volume time-series metrics.
TelemetryFlow Platform is a full-stack monolith combining:
/api# Start all services (backend + frontend + databases)
docker-compose --profile all up -d
# Or start specific profiles
docker-compose --profile core up -d # Core only (backend + databases)
docker-compose --profile core --profile ui up -d # Core + UI Dashboard
# Navigate to frontend directory
cd frontend
# Install dependencies
pnpm install
# Configure environment
cp .env.development.example .env
# Start development server
pnpm dev
# Frontend available at http://localhost:5173
Frontend Environment Variables:
# IAM API endpoint (NestJS backend)
TELEMETRYFLOW_IAM_API_URL=http://localhost:3000
# OTEL Collector endpoint (telemetry data)
TELEMETRYFLOW_API_URL=http://localhost:4318
# Enable mock data for development
TELEMETRYFLOW_USE_MOCK=true
Available profiles:
core - Backend, PostgreSQL, ClickHouseui - TelemetryFlow Viz (Visualization Dashboard)tools - Portainerall - EverythingSee docs/DOCKER_SETUP.md for details.
# Clone repository
git clone https://github.com/telemetryflow/telemetryflow-platform.git
cd telemetryflow-platform
# Install dependencies
pnpm install
# Configure environment
cp .env.example .env
# Edit .env with your configuration
# Generate secrets
pnpm run generate:secrets
# Start infrastructure (PostgreSQL + ClickHouse + OTEL)
docker-compose up -d
# Initialize ClickHouse schema
docker exec -i telemetryflow_core_clickhouse clickhouse-client --multiquery < config/clickhouse/migrations/001-audit-logs.sql
# Seed database
pnpm run db:seed:iam
# Start development server
pnpm run dev
bash scripts/bootstrap.sh --dev
TelemetryFlow Platform follows comprehensive module standardization guidelines to ensure consistency, quality, and maintainability across all modules.
Each module includes detailed specifications in .kiro/specs/:
All modules must pass 6 comprehensive quality gates:
| Gate | Requirement | Standard |
|---|---|---|
| Documentation | Complete documentation with 500+ line README | 100% |
| Test Coverage | Domain: ≥95%, Application: ≥90%, Overall: ≥90% | ≥90% |
| File Structure | DDD compliance with standardized naming | 100% |
| Database Patterns | Standardized migrations, seeds, and naming | 100% |
| API Standards | Swagger, validation, REST conventions | 100% |
| Build Quality | Zero errors in build, lint, and tests | 0 Errors |
Each module implements 8 correctness properties:
Each module specification includes:
.kiro/specs/{module}-module-standardization/
├── requirements.md # 8 requirements, 80 acceptance criteria (EARS patterns)
├── design.md # DDD architecture, components, correctness properties
└── tasks.md # 52-60 implementation tasks with checkpoints
For detailed contribution guidelines, see CONTRIBUTING.md.
Super Administrator (Global)
Administrator (Organization-scoped)
Developer (Organization-scoped)
Viewer (Organization-scoped)
Demo (Demo org only)
| Password | Role | Tier | |
|---|---|---|---|
| [email protected] | SuperAdmin@654123 | Super Administrator | 1 |
| [email protected] | Admin@654123 | Administrator | 2 |
| [email protected] | Developer@654123 | Developer | 3 |
| [email protected] | Viewer@654123 | Viewer | 4 |
| [email protected] | Demo@654123 | Demo | 5 |
Once running, access Swagger UI at: http://localhost:3000/api
Authentication (JWT):
POST /api/v2/auth/login - Login with email/password, returns JWT tokensPOST /api/v2/auth/refresh - Refresh access tokenPOST /api/v2/auth/logout - Invalidate tokensGET /api/v2/auth/me - Get current user profile with roles/permissionsIAM Management:
/api/v2/iam/users - User management/api/v2/iam/roles - Role management/api/v2/iam/permissions - Permission management/api/v2/iam/tenants - Tenant management/api/v2/iam/organizations - Organization management/api/v2/iam/workspaces - Workspace management/api/v2/iam/groups - Group management/api/v2/iam/regions - Region management/health - Health checkPostman Collection (Recommended):
docs/postman/TelemetryFlow Platform - IAM.postman_collection.jsondocs/postman/TelemetryFlow Platform - Local.postman_environment.jsonBDD Automated Testing (Newman):
# Run all BDD tests
pnpm test:bdd
# Run specific module
pnpm test:bdd:users
pnpm test:bdd:roles
# With detailed output
pnpm test:bdd:verbose
Export OpenAPI Spec:
./scripts/export-swagger-docs.sh
TelemetryFlow Platform includes a comprehensive Makefile that simplifies development and CI operations. The Makefile provides standardized commands that work consistently across local development and CI environments.
# Quick Start
make help # Show all available commands
make install # Install dependencies
make dev # Start development server
make build # Build the application
# Development Workflow
make start # Install + build + start development
make reset # Clean + install + build (reset environment)
make check # Quick check (lint + test)
# Code Quality
make lint # Run ESLint
make lint-fix # Run ESLint with auto-fix
make format # Alias for lint-fix
# Testing
make test # Run unit tests
make test-coverage # Run tests with coverage
make test-bdd # Run BDD tests (Newman/Postman)
# Database Operations
make db-migrate # Run database migrations
make db-seed # Seed database with initial data
make db-setup # Setup database (migrate + seed)
make db-cleanup # Clean up database
# Docker Operations
make docker-build # Build Docker image
make docker-run # Run Docker container locally
make docker-stop # Stop and remove Docker container
make up # Start all services with Docker Compose
make down # Stop all services
# CI/CD Pipeline (Used by GitHub Actions)
make ci-install # CI: Install dependencies (frozen lockfile)
make ci-validate # CI: Validate module standardization
make ci-lint # CI: Run linting
make ci-build # CI: Build application
make ci-test # CI: Run tests with coverage
make ci-security # CI: Run security audit
make ci-pipeline # CI: Run complete pipeline
# Release Management
make release-build # Build release version
make release-docker # Build and push Docker release
# Utilities
make generate-secrets # Generate JWT and session secrets
make bootstrap # Bootstrap development environment
make health # Check application health
make version # Show version information
make clean # Clean build artifacts and dependencies
make help# New developer setup
make install
make generate-secrets
make db-setup
make dev
# Daily development
make check # Lint + test before committing
make reset # Reset environment if issues
# CI pipeline (what GitHub Actions runs)
make ci-pipeline # Complete CI validation
# Development
pnpm dev # Start with hot reload
pnpm start:debug # Start with debugger
# Build & Run
pnpm build # Build for production
pnpm start # Start production server
# Database
pnpm db:cleanup # Clean all databases (PostgreSQL + ClickHouse)
pnpm db:migrate # Run all migrations (PostgreSQL + ClickHouse)
pnpm db:migrate:postgres # Run PostgreSQL migrations only
pnpm db:migrate:clickhouse # Run ClickHouse migrations only
pnpm db:migrate:seed # Run migrations + seeds (full setup)
pnpm db:seed # Seed all data (PostgreSQL + ClickHouse)
pnpm db:seed:postgres # Seed PostgreSQL only
pnpm db:seed:iam # Seed IAM data only
pnpm db:seed:clickhouse # Seed ClickHouse only
pnpm db:init-clickhouse # Initialize ClickHouse schema
pnpm db:generate-sample # Generate sample data (50 records)
pnpm db:reset # Reset database
# Testing
pnpm test # Run unit tests
pnpm test:watch # Watch mode
pnpm test:cov # Coverage report
pnpm test:bdd # Run BDD API tests (Newman)
pnpm test:bdd:verbose # Run BDD tests with detailed output
pnpm test:bdd:users # Run Users module BDD tests
pnpm test:bdd:roles # Run Roles module BDD tests
# Security
pnpm generate:secrets # Generate JWT & Session secrets
# Code Quality
pnpm lint # Lint and fix
# Docker
pnpm docker:up # Start all containers
pnpm docker:down # Stop all containers
pnpm docker:logs # View logs
pnpm docker:clean # Clean volumes
# Bootstrap
pnpm bootstrap # Full setup (dependencies, Docker, migrations, seeds)
# API Documentation
./scripts/export-swagger-docs.sh # Export OpenAPI spec
# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop services
docker-compose down
# Build and start
docker-compose up -d --build
# Check health
curl http://localhost:3000/health
# Access API
curl http://localhost:3000/api
| Port | Protocol | Description |
|---|---|---|
| 4317 | gRPC | OTLP gRPC (v1 & v2) |
| 4318 | HTTP | OTLP HTTP (v1 & v2) |
| 8888 | HTTP | OTEL Collector metrics |
| 8889 | HTTP | Prometheus exporter |
| 13133 | HTTP | Health check |
| 55679 | HTTP | zPages (debugging) |
| 1777 | HTTP | pprof (profiling) |
The collector supports both TelemetryFlow (v2) and OTEL Community (v1) endpoints:
TelemetryFlow Platform (Recommended):
POST http://localhost:4318/v2/traces
POST http://localhost:4318/v2/metrics
POST http://localhost:4318/v2/logs
OTEL Community (Backwards Compatible):
POST http://localhost:4318/v1/traces
POST http://localhost:4318/v1/metrics
POST http://localhost:4318/v1/logs
gRPC: localhost:4317 (both v1 and v2)
users - User accountsroles - Role definitions (5-tier RBAC)permissions - Permission definitions (22+ permissions)tenants - Tenant organizationsorganizations - Business unitsworkspaces - Project workspacesgroups - User groupsregions - Geographic regionsuser_roles - User-Role assignmentsuser_permissions - Direct user-permission assignmentsrole_permissions - Role-Permission mappingsWe welcome contributions! Please follow these steps:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Important:
.kiro/specs/ before working on modulesWhen contributing to modules, ensure compliance with standardization requirements:
Security is a top priority. Please review our Security Policy for:
Report security issues to: [email protected]
Apache-2.0 License - see LICENSE file for details
Extracted from TelemetryFlow Platform - Enterprise Telemetry & Observability Platform.
Built with ❤️ by Telemetri Data Indonesia collaboration with Kiro
Content type
Image
Digest
sha256:701be9b8e…
Size
415.6 MB
Last updated
3 months ago
docker pull telemetryflow/telemetryflow-platform