OpsPulse is a mission-critical Incident Command & Service Level Agreement (SLA) Governance platform designed for Site Reliability Engineering (SRE), Platform, and DevOps teams. It provides end-to-end incident declaration, real-time responder orchestration, investigation timeline telemetry, MTTR/MTTD analytics, and automated SLA compliance tracking across cloud infrastructure.
- End-to-End Incident Command: Declare, acknowledge, investigate, and resolve production incidents with automated SLA breach detection and severity-based prioritization (P1 Critical through P4 Low).
- Service Dependency & Health Registry: Monitor component availability (Tier 1 mission-critical, Tier 2 core, Tier 3 internal), calculate 30-day uptime SLAs, and track active blast radiuses.
- Investigation Timeline Stream: Real-time investigative log enabling responders and commanders to post telemetry updates, diagnostic findings, and mitigation actions.
- Root Cause Analysis (RCA) & Postmortem: Enforce structured RCA documentation and preventative remediation capture prior to incident closure.
- Reliability Metrics Engine: Built-in calculation of MTTR (Mean Time to Resolve), MTTD (Mean Time to Detect), and SLA Compliance %.
- Role-Based Access Control (RBAC): Secure access tiering across
Administrator,IncidentCommander,Responder, andViewer. - Advanced Querying: Instant full-text search, multi-criteria filtering (status, severity, service component), sorting, and resilient pagination.
- Dual Database Engine Support: Out-of-the-box local zero-configuration SQLite for rapid development, and PostgreSQL 16+ for enterprise container production.
+----------------------------------------------------------------------------------------------------+
| [OpsPulse] ENTERPRISE Alex Mercer (Lead SRE) [Admin] [Sign Out] |
+----------------------------------------------------------------------------------------------------+
| [Dashboard] RELIABILITY OVERVIEW & COMMAND [+ Declare Incident] |
| [Incidents] |
| [Services] +-------------------+ +-------------------+ +-------------------+ |
| | ACTIVE INCIDENTS | | SLA COMPLIANCE | | MTTR (RESOLVE) | |
| | 1 | | 99.2% | | 38.4 min | |
| | ATTENTION NEEDED | | HEALTHY | | SLA TARGET 60m | |
| +-------------------+ +-------------------+ +-------------------+ |
| |
| MONITORED COMPONENT HEALTH INCIDENTS & TREND TELEMETRY |
| +-----------------------------------+ +-----------------------------------+ |
| | Auth Gateway | Operational | | P1 Critical: 1 [=== ] | |
| | Payment Ledger | Degraded | | P2 High: 2 [====== ] | |
| | Search Cluster | Operational | | P3 Medium: 3 [========= ] | |
| +-----------------------------------+ +-----------------------------------+ |
+----------------------------------------------------------------------------------------------------+
| Technology | Role | Justification |
|---|---|---|
| C# 12 / .NET 8 | Backend Web API | High-performance, memory-safe, enterprise-grade runtime with native async/await and dependency injection. |
| ASP.NET Core Web API | REST API Layer | Clean routing, middleware pipeline, model binding, and native OpenAPI generation. |
| Entity Framework Core 8 | ORM / Persistence | Linq queries, migrations, relationships, eager loading, and dual SQLite/PostgreSQL provider support. |
| React 18 | Frontend Framework | Declarative component model, virtual DOM diffing, and fast reactive UI state management. |
| TypeScript | Type Safety | End-to-end type parity between backend DTO contracts and frontend models. |
| Vite | Build Tooling | Lightning-fast Hot Module Replacement (HMR) and optimized Rollup production bundling. |
| JWT (HMAC-SHA256) | Authentication | Stateless authentication with claims-based RBAC and secure refresh token rotation. |
| BCrypt.Net | Password Security | Adaptive cryptographic password hashing with configurable salt work factor (11). |
| FluentValidation | Request Validation | Strongly-typed business validation pipeline executed before controller invocation. |
| Serilog | Structured Logging | JSON and console structured log enrichment for observability and audit trails. |
| Docker & Compose | Containerization | Multi-stage builds producing hardened, minimal-footprint production containers. |
| xUnit & Moq | Testing | Automated unit testing of domain entity state machines and application services. |
OpsPulse strictly adheres to Clean Architecture and Domain-Driven Design (DDD):
src/
├── backend/
│ ├── OpsPulse.Core/ # Pure Domain Entities, Enums, and Repository Interfaces
│ ├── OpsPulse.Application/ # CQRS/Services, DTOs, FluentValidation, Business Logic
│ ├── OpsPulse.Infrastructure/ # EF Core DbContext, PostgreSQL/SQLite Repositories, JWT, BCrypt
│ └── OpsPulse.Api/ # Controllers, Global Error Middleware, Swagger OpenAPI, Serilog
└── frontend/
└── src/
├── api/ # Typed API Client with JWT Bearer Interceptors
├── components/ # Reusable UI widgets (Badges, Modals, Tables, Timelines)
├── context/ # AuthContext & Session Management
├── pages/ # Dashboard, Incident Explorer, Detail Command, Service Catalog
└── styles/ # Bespoke Dark Theme Design System (CSS Tokens)
For complete technical specifications, see docs/architecture.md.
Launch the entire stack (PostgreSQL + .NET Backend + React/Nginx Frontend) with a single command:
docker-compose up --build- Web Frontend: http://localhost
- Backend API & Swagger UI: http://localhost:5000/swagger
- Health Check: http://localhost:5000/health
Default demo credentials:
- Lead SRE (Admin):
[email protected]/Admin@OpsPulse2026 - Incident Commander:
[email protected]/Responder@2026 - Senior DevOps (Responder):
[email protected]/Responder@2026
- .NET 8.0 SDK
- Node.js 20+ &
npm
cd src/backend
# Restore NuGet packages
dotnet restore
# Run backend API (runs SQLite database auto-migration and seeds initial data)
cd OpsPulse.Api
dotnet runBackend will start on http://localhost:5000. Test the API via Swagger at http://localhost:5000/swagger.
In a new terminal:
cd src/frontend
# Install dependencies
npm install
# Start Vite dev server with proxy
npm run devOpen your browser at http://localhost:5173.
# Run backend xUnit unit and domain tests
dotnet test tests/OpsPulse.UnitTests/OpsPulse.UnitTests.csproj --verbosity normal| Method | Endpoint | Description | Role Required |
|---|---|---|---|
POST |
/api/v1/auth/login |
Authenticate with email/password | Public |
POST |
/api/v1/auth/register |
Register new engineer account | Public |
GET |
/api/v1/auth/me |
Fetch authenticated user profile | Authenticated |
GET |
/api/v1/incidents |
List paged incidents with search/filter | Authenticated |
POST |
/api/v1/incidents |
Declare new incident | Responder+ |
GET |
/api/v1/incidents/{id} |
Get incident details & timeline | Authenticated |
PATCH |
/api/v1/incidents/{id}/status |
Transition status & log RCA | Responder+ |
PATCH |
/api/v1/incidents/{id}/assign |
Assign responder or commander | Commander+ |
POST |
/api/v1/incidents/{id}/updates |
Post investigative note | Responder+ |
GET |
/api/v1/services |
List monitored services and SLAs | Authenticated |
POST |
/api/v1/services |
Register new platform service | Admin / Commander |
PATCH |
/api/v1/services/{id}/status |
Update component operational health | Admin / Commander |
GET |
/api/v1/analytics/overview |
Fetch MTTR, MTTD, and trends | Authenticated |
Full API reference: docs/api.md.
cd OpsPulse
git init
git add .
git commit -m "feat: initial commit of OpsPulse Cloud Incident & SLA Governance platform"
git branch -M main
git remote add origin https://github.com/<your-username>/opspulse.git
git push -u origin main- Webhook outbound dispatchers (Slack, PagerDuty, Discord integration).
- AI-assisted Root Cause Analysis summaries via Gemini API.
- OpenTelemetry distributed tracing ingestion.
- Exportable PDF postmortem incident reports.
Distributed under the MIT License. See LICENSE for details.