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>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user