Architecture Overview
System Diagram
Section titled “System Diagram”graph TB
subgraph Client["Client Layer"]
BR[Browser]
end
subgraph Frontend["Frontend (3000/3001)"]
UI[React 19 + Vite 7\nRedux Toolkit + Tailwind]
end
subgraph Backend["Backend (8080/8081)"]
API[Spring Boot\nJWT Auth + Workspace API]
end
subgraph AILayer["AI Layer"]
AIS[AI Service :9300\nGroq + Tool Calling]
SEM[Semantic Search :9100\nNeural Search]
ANA[Analyzer :9000\nGroq AI 27 strategies]
MCP[MCP Server :9500\nPython/uvicorn]
ARN[Agent Runner :9400\nScheduled Agents NEW]
end
subgraph Search["OpenSearch"]
OS[OpenSearch :9200\nv3.4.0]
OSD[Dashboards :5601\nVisualization]
DP[Data Prepper\n:21890/:21891\nOTEL Ingestion]
end
subgraph Infra["Infrastructure"]
WH[Webhook Server :9999\nGitHub receiver]
WA[Deploy watcher\n60s branch poll]
CON[Management console\nbuild - pin - compose up]
end
BR --> UI
UI --> API
UI --> AIS
AIS --> SEM
SEM --> OS
AIS --> OS
AIS --> API
AIS --> ANA
ARN --> AIS
ARN --> API
API --> OS
MCP --> OS
ANA --> OS
DP --> OS
OS --> OSD
WH --> CON
WA --> CON
Design Principles
Section titled “Design Principles”One branch, two machines
Section titled “One branch, two machines”Every repo has main and nothing else. Prod and dev are separate VMs
running one container per service, so there is no main + dev pair sharing a
box — which is why the analyzer is 9000 on prod and 9001 on dev. A push to
main deploys to dev only; prod moves when a human promotes the image that
was tested there.
OpenSearch-First Analytics
Section titled “OpenSearch-First Analytics”All log data flows through OpenSearch. Services do not maintain their own log stores — they query OpenSearch for all analytics, search, and anomaly detection.
AI-First Architecture
Section titled “AI-First Architecture”The AI Service is the central intelligence layer. It uses Groq’s LLM with multi-turn tool calling to orchestrate queries across OpenSearch, the Backend API, and the Analyzer. No raw LLM responses — all structured via JSON blocks for rich UI rendering.
MCP Compliance
Section titled “MCP Compliance”The MCP Server exposes Logrite’s compliance scanning tools via HTTP+SSE transport using the Model Context Protocol. Any MCP-compatible AI client (Claude Desktop, Cursor, etc.) can invoke Logrite’s compliance tools.
Agentic Execution (Proposed)
Section titled “Agentic Execution (Proposed)”The Agent Runner (port 9400) is a new service that polls the Backend for scheduled agents and fires them on cron schedules. Agents call the AI Service’s chat API with a pre-built context, then store execution logs back to the Backend.
Service Ownership
Section titled “Service Ownership”| Service | Repo | Language | Compose service |
|---|---|---|---|
| Frontend | Logrite-UI | React/Vite | frontend |
| Backend | Logrite-AI | Spring Boot | backend |
| Analyzer | logrite-analyzer | Node.js/TS | analyzer |
| Semantic Search | logrite-semantic-api | Node.js/TS | semantic-search |
| AI Service | logrite-ai-service | Node.js/TS | ai-service |
| MCP Server | logrite-mcp-server | Python | mcp-server |
| Agent Runner | logrite-agent-runner | Node.js/TS | — (proposed, not deployed) |
| Webhook | logrite-webhook | Node.js | webhook |
| Master Control | LogriteMasterControl | Python/Node.js | data-prepper (config) |
| OpenSearch | LogriteOpenSearch | Java | opensearch, opensearch-dashboards |