Architettura del sistema (Open Source)

image

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.