Architettura del sistema (Open Source)

NGINX
Il webserver NGINX distribuisce tutti i contenuti statici, ad esempio immagini, file JavaScript o file CSS.
uWSGI
uWSGI è il server applicativo che esegue la piattaforma DefectDojo, scritta in Python/Django, per servire tutti i contenuti dinamici.
Broker di messaggi
Il server applicativo invia le attività a un Message Broker per l’esecuzione asincrona. Attualmente, solo Valkey è supportato come broker nella configurazione docker compose. Il chart Helm utilizza ancora Redis come broker supportato, ma verrà migrato a Valkey a breve.
Celery Worker
Attività come la deduplicazione o la sincronizzazione con JIRA vengono eseguite in modo asincrono in background dal Celery Worker.
Celery Beat
Per identificare e notificare agli utenti eventi come gli engagement imminenti, DefectDojo esegue attività pianificate. Queste attività vengono pianificate ed eseguite tramite Celery Beat.
Initializer
L’Initializer configura / mantiene il database e sincronizza / esegue le migrazioni dopo gli aggiornamenti di versione. Si arresta automaticamente al termine di tutte le attività.
Database
Il Database memorizza tutti i dati applicativi di DefectDojo. Attualmente è supportato solo PostgreSQL.