Files
OrbitWard/docs/architecture.md
T
2026-05-22 17:36:40 -06:00

29 lines
1.3 KiB
Markdown

# Architecture
InfraPulse is a monorepo with four main areas:
- `backend`: FastAPI service exposing REST endpoints and owning database access.
- `worker`: Background scheduler and collectors for checks and alert evaluation.
- `frontend`: React application for authenticated operations.
- `docs`: Product, security, alerting, discovery, and planning documents.
## Backend
The backend uses FastAPI, SQLAlchemy, Alembic, Pydantic, PostgreSQL, and JWT authentication. It owns core domain models: users, assets, credentials, monitors, check results, metrics, alert rules, incidents, notification channels, and audit events.
## Worker
The worker is a separate Python process. It will poll due monitors, run collectors, write check results and metrics, evaluate alert rules, open or resolve incidents, and enqueue notification delivery.
## Frontend
The frontend uses React, TypeScript, Vite, and Tailwind CSS. It starts with protected routes, a login flow, and dashboard/inventory shells.
## Queue and Scheduling
Redis is included from the beginning so background work can move from a simple scheduler to a real queue without changing the deployment shape.
## Plugin Direction
Plugins will eventually implement connection tests, discovery, collection, and default alert rule suggestions. Initial collectors can be simpler, but they should not block future plugin extraction.