# Roadmap SentinelMesh ## Phase 1 — Architecture & Backend ✅ - [x] Structure du dépôt - [x] Workspace Cargo - [x] Backend Axum skeleton - [x] Base SQLite + migrations (agents, devices, metrics, events) - [x] Endpoints API v1 complets (/agents, /network, /metrics, /events, /widgets) - [x] Spec OpenAPI générée sur /api-docs/openapi.json ## Phase 2 — Découverte réseau ✅ - [x] `agent-scan-network` MVP : ping sweep TCP, ARP (/proc/net/arp), OUI - [x] Détection services par scan de ports TCP (SSH, HTTP, HTTPS, SMB, MQTT, Docker, Proxmox, HA…) - [x] API JSON locale de l'agent (GET /devices) - [x] Push vers le backend (/api/v1/network) - [x] Enregistrement automatique de l'agent au démarrage - [x] Subnet configuré : 10.0.0.0/22 - [ ] `widget-network-scan` Glance (tuile + popup) — reporté Phase 4 - [ ] Résolution DNS inverse (PTR) — Phase 2+ ## Phase 3 — Métriques système ✅ - [x] `agent-metric` : CPU/RAM/réseau/charge (1s via sysinfo) - [x] `agent-metric` : disques, températures hwmon, SMART smartctl (30min) - [x] `agent-metric` : DMI/hardware/BIOS depuis /sys (boot + toutes les 30min) - [x] Événement boot envoyé au démarrage - [x] API locale sur :9101 (GET /metrics) - [x] Push vers /api/v1/metrics et /api/v1/events - [ ] `widget-agent-metrics` Glance — Phase 4 ## Phase 4 — Widgets Glance ✅ - [x] `widget-network-scan` : liste équipements (état, IP, hostname, vendor, services, tri online/offline) - [x] `widget-agent-metrics` : barres CPU/RAM/disque/température par agent, code couleur (ok/warn/crit) - [x] CSS custom (`sentinelmesh.css`) : badges, barres de progression, points de statut - [x] Page Glance exemple complète (`glance-page-example.yaml`) - [x] Backend widgets enrichi : mac, ports, offline count, net_rx/tx_bps - [ ] Popups détaillés — nécessite widget `extension` (serveur HTTP séparé) — Phase 4+ - [ ] Icônes locales par type d'équipement — Phase 4+ - [ ] Favoris / personnalisation par équipement — Phase 4+ ## Phase 5 — Déploiement & Distribution ✅ - [x] `install/install.sh` : script complet (détection arch, téléchargement, config, systemd, enregistrement) - [x] `install/uninstall.sh` : désinstallation propre - [x] Docker Compose production (healthcheck, réseau, volumes nommés) - [x] `docker-compose.dev.yml` : profil développement - [x] Dockerfiles agents multi-arch (amd64, arm64, armv7 Raspberry Pi) - [x] `.gitea/workflows/ci.yaml` : check + clippy + fmt + tests sur push/PR - [x] `.gitea/workflows/release.yaml` : build multi-arch + release Gitea sur tag v* ## Phase 6 — Extensions - [ ] MQTT - [ ] WebSocket / SSE - [ ] Historique + agrégation + retention - [ ] Prometheus / InfluxDB - [ ] Home Assistant / Grafana - [ ] Support multi-dashboard - [ ] PostgreSQL