Dex Hub
Orchestratore — coda, dashboard, audit
Dex Hub è il punto di controllo della DexSuite. Riceve i job da Dex Editor, li mette in coda con priorità, li esegue in parallelo (configurabile), e mostra in tempo reale lo stato di ogni esecuzione.
Editor di scripting integrato: scrivi direttamente dal browser piccoli script in Python o PowerShell, salvati nella cartella scripts e categorizzati per stato di maturità (online / experimental / deprecated). Ogni script si lancia on-demand con un click, oppure si schedula con espressione cron-like (es. ogni notte alle 03:00, ogni 15 minuti, ogni primo del mese). Output stdout/stderr in streaming live, ritentativi automatici e notifica al fallimento.
Chain: definisci una sequenza di operazioni (job e/o script) eseguite in ordine, con branching condizionale sull'esito (es. "se step 2 fallisce → manda alert su Telegram e ferma; se passa → step 3"). Le chain si schedulano come singolo "blocco" e diventano il modo per orchestrare flussi compositi senza scripting esterno.
Include inoltre dashboard di metriche, audit-ledger crittografico condiviso fra le 4 app, notifier multipli (Telegram, Discord, email, webhook), bulk operations sui job falliti, log search full-text e una status page pubblica per i clienti. Pensato per essere il singolo cruscotto IT di una piccola azienda.
Funzionalità
- Coda di job con priorità (no preemption)
- Job grouping: parallel + join automatico
- Scripting integrato: editor web per Python e PowerShell
- Categorizzazione script: online / experimental / deprecated
- Esecuzione script on-demand dal browser con un click
- Scheduling cron-like di script, job e chain
- Chain: sequenze di job/script con branching condizionale (success/failure)
- Pagina Running con stream live di stdout/stderr
- Dashboard di metriche real-time
- Audit log condiviso (audit-ledger crittografico)
- Notifier Telegram, Discord, Email, Webhook outgoing
- Bulk operations sui job falliti (retry, cancel, requeue)
- Search full-text sui log
- Status page pubblica /status.html (no auth)
- Federazione MCP con Dex Editor / Dex Assistant / Net Inventory Suite
- Single Sign-On via DexAuth: autenticazione delegata, cookie federato, JIT provisioning utenti
- HTTPS con certificato (TLS) per accesso sicuro a UI e API
- UI responsive: mobile / tablet / desktop
Parametrizzazioni
- Porta HTTP (default 3001)
- DB engine: sqlite | postgres | mariadb
- MAX_CONCURRENT_JOBS — concorrenza esecuzioni
- SCRIPTS_DIR — cartella degli script utente
- PYTHON_CMD — interprete Python da usare (default `python`)
- Cartelle per categoria script: SCRIPTS_ONLINE / SCRIPTS_EXPERIMENTAL / SCRIPTS_DEPRECATED
- Cron expression per scheduling di script / job / chain
- Definizione chain (sequenza step + condizioni success/failure)
- Token Telegram + chat_id, webhook URL Discord, SMTP per email
- Soglie di alert (fail count, error rate)
- Retention log (giorni)
- URL Dex Editor / Dex Assistant / Net Inventory Suite (federazione MCP)
- DEXAUTH_URL — endpoint dell'Identity Provider (DexAuth) per SSO
- HTTPS_CERT_PATH / HTTPS_KEY_PATH per abilitare TLS (porta 443 o personalizzata)
Pre-requisiti tecnici
- Node.js 20+
- DB SQL: SQLite (incluso) oppure PostgreSQL 14+ / MariaDB 10.6+
- Dex Editor in esecuzione (per ricevere job)
- Dex Assistant — opzionale, per chat AI integrata