Files
SentinelMesh/docs/ARCHITECTURE.md
T
gilles 7cf56f24ef chore: initialise la structure du projet SentinelMesh
- Workspace Cargo avec backend, agent-scan-network, agent-metric
- Skeleton Rust pour les trois crates (Axum, Tokio, SQLx)
- Documentation : README, FEATURES, ROADMAP, ARCHITECTURE, API, INSTALL
- Exemples de widgets Glance (custom-api)
- Script d'installation agents (squelette Phase 5)
- Docker Compose + Dockerfile backend
- .gitignore et CLAUDE.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 05:59:12 +02:00

42 lines
2.5 KiB
Markdown

# Architecture SentinelMesh
## Vue d'ensemble
```
┌─────────────────────────────────────────────────────────┐
│ Dashboards (Glance…) │
│ widget-network-scan widget-agent-metrics │
└──────────────────────┬──────────────────────────────────┘
│ /api/v1/widgets/*
┌──────────────────────▼──────────────────────────────────┐
│ Backend central (Rust/Axum) │
│ /api/v1/agents /api/v1/metrics /api/v1/network │
│ SQLite (→ PostgreSQL futur) │
└────────────┬────────────────────────┬───────────────────┘
│ push JSON │ push JSON
┌────────────▼────────┐ ┌──────────▼────────────────────┐
│ agent-scan-network │ │ agent-metric │
│ ICMP/ARP/MAC/DNS │ │ CPU/RAM/HDD/GPU/DMI/Events │
│ Détection services │ │ Multi-fréquence │
│ API JSON locale │ │ API JSON locale │
└─────────────────────┘ └───────────────────────────────┘
```
## Principes
- **Séparation stricte** : collecte → centralisation → affichage. Jamais de lien direct widget ↔ agent.
- **API-first** : toute donnée accessible via `/api/v1/`.
- **Agents autonomes** : fonctionnent sans le dashboard, exposent leur propre API locale.
- **Faiblement couplé** : les widgets sont remplaçables par n'importe quel dashboard.
## Flux de données
1. Les agents scannent / collectent en local.
2. Ils poussent les données vers le backend via HTTP JSON.
3. Le backend stocke, agrège et expose via `/api/v1/`.
4. Glance interroge les endpoints widgets (`/api/v1/widgets/*`) à la fréquence de cache configurée.
## Extensions futures
Les agents pourront publier directement vers : MQTT, Prometheus, InfluxDB, Home Assistant, Grafana, Node-RED.