7cf56f24ef
- 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>
42 lines
2.5 KiB
Markdown
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.
|