diff --git a/ROADMAP.md b/ROADMAP.md index 855afa1..1f42be4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -31,3 +31,42 @@ La roadmap e il backlog di sviluppo sono centralizzati su Gitea: - MFA per admin e azioni critiche. - Terminale remoto protetto (stile Termix). - Audit comandi e approvazione esplicita. + +## WIP interni + +Questa sezione è riservata ai WIP interni e al backlog tecnico. +Non deve essere esposta nel frontend dell'app. + +### Auth foundation + +- Sessioni sicure, logout reale, protezione delle rotte. +- Bootstrap identità utente all'avvio. +- Ruoli base (admin, editor, viewer). +- Policy per risorse sensibili (inventory, settings, utenti). + +### Inventory hardening + +- Validazione input e output su API. +- Audit log per modifiche a nodi e relazioni. +- Permessi per creazione/modifica/cancellazione. + +### Discovery pipeline + +- SNMP collector — WIP. +- LLDP ingestion — WIP. +- Port mapping inference — WIP. +- Correlazione automatica con relazioni inventory. + +### Topology multilivello + +- Vista fisica dispositivi. +- Vista logica host / VM / container / app. +- Layer networking e dipendenze. +- Drag & drop, focus node, highlight vicini. + +### Remote access hardening + +- MFA per admin e azioni critiche. +- Terminale remoto protetto (stile Termix). +- Audit comandi e approvazione esplicita. +- Tracciamento sessioni e log comandi. diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 29705ea..2e8dd76 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; import { InventoryPage } from './pages/InventoryPage'; import './app-shell.css'; -type TabKey = 'overview' | 'inventory' | 'discovery' | 'topology' | 'options' | 'wip'; +type TabKey = 'overview' | 'inventory' | 'discovery' | 'topology' | 'options'; const tabs: { key: TabKey; label: string; description: string }[] = [ { key: 'overview', label: 'Overview', description: 'Stato generale del workspace NetMapper.' }, @@ -10,7 +10,6 @@ const tabs: { key: TabKey; label: string; description: string }[] = [ { key: 'discovery', label: 'Discovery', description: 'Pipeline e job di raccolta dati.' }, { key: 'topology', label: 'Topology', description: 'Vista futura della mappa multilivello.' }, { key: 'options', label: 'Options', description: 'Utenti, impostazioni, servizi di sistema e sicurezza.' }, - { key: 'wip', label: 'WIP', description: 'Roadmap e link a Gitea per lo sviluppo.' }, ]; function ShellCard({ title, children, tone = 'default' }: { title: string; children: React.ReactNode; tone?: 'default' | 'accent' | 'warning' }) { @@ -62,11 +61,11 @@ function DiscoveryTab() {
https://git.lelekaos.com/admin/NetMapper2026/issues{currentTab.label === 'WIP' ? 'Roadmap e link a Gitea per lo sviluppo.' : currentTab.description}
+{currentTab.description}