RootPilot is a premium, high-density SRE Operations Console, Observability Platform, and AIOps Remediation engine. It is designed to ingest real-time distributed telemetry, detect anomalies using statistical models, map cascading service dependencies, and perform GenAI-assisted root cause analysis (RCA).
RootPilot operates as an event-driven telemetry pipeline:
graph TD
MS[Monitored Service] -->|1. Simulated Failures| RMQ[RabbitMQ Broker]
RMQ -->|2. Ingests Events| BE[RootPilot Backend]
BE -->|3. Rolling Stats & Cache| RD[(Redis Cache)]
BE -->|4. Persistent Incidents| DB[(PostgreSQL)]
BE -->|5. SRE Telemetry Reasoner| GEM[Google Gemini AI]
FE[RootPilot Frontend] -->|6. Dashboard / RCA Query| BE
- Telemetry & Event Ingestion: A local or remote microservice (e.g.,
monitored-service) sends simulated service failure events to RabbitMQ. - Backend Processing: The Spring Boot backend consumes events, calculates rolling statistical deviations (Z-Score) over a 30-point window, and stores active counts in Redis for rapid retrieval. All events are persistently stored in PostgreSQL.
- GenAI Analysis: The Gemini 3.6 Flash reasoning engine analyzes live telemetry and writes triaging verdicts and SRE mitigation plans.
- Command Center UI: A modern React/TS SPA visualizes platform metrics, graphs interactive failure topology maps via React Flow, and provides an interactive SRE Copilot drawer.
This repository contains three core components:
| Component | Path | Description |
|---|---|---|
| Backend | /rootpilot-backend |
Spring Boot 4.x service managing the REST API, anomaly detection, Redis caching, PostgreSQL repository, and Gemini AI. |
| Frontend | /rootpilot-frontend |
React & TypeScript SPA Dashboard utilizing Material-UI, React Flow, Zustand, and TanStack Query. |
| Monitored Service | /monitored-service |
Standalone mock microservice simulating real-world failures and publishing them directly to the RabbitMQ broker. |
To run the entire platform locally, follow these steps:
Ensure the following services are running locally on their default ports:
- PostgreSQL (
5432): Create a database namedrootpilotorpostgres - Redis (
6379) - RabbitMQ (
5672/ UI:15672)
Export the following environment variables (or save them in .env/config files):
# Database & Cache Credentials
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/postgres
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=password
export SPRING_DATA_REDIS_HOST=localhost
# GenAI Integration (Enables SRE Copilot reasoning)
export GEMINI_API_KEY=your_gemini_api_keycd rootpilot-backend
./mvnw spring-boot:runThe API server will launch at http://localhost:8080.
cd rootpilot-frontend
npm install
npm run devThe SPA dashboard will launch at http://localhost:3000.
cd monitored-service
./mvnw spring-boot:runThe simulator will boot up at http://localhost:8081 and start publishing events.
The production instances of the RootPilot platform are fully deployed and orchestrated in the cloud:
- Backend API: Hosted on Railway (rootpilot-backend-production.up.railway.app)
- Frontend Dashboard: Hosted on Vercel (rootpilot-frontend.vercel.app)
- Database (PostgreSQL), Cache (Redis) & Message Broker (RabbitMQ): Hosted as managed services on Railway
The hosted deployment ships with public, demo-only accounts so reviewers can explore the dashboard without registering (password: rootpilot). These are not real user accounts and carry no privileged data:
- Administrator:
admin - SRE Engineer:
sre - Operator:
operator - Viewer:
viewer