Systemarchitektur (Open Source)

image

NGINX

Der Webserver NGINX liefert alle statischen Inhalte aus, zum Beispiel Bilder, JavaScript-Dateien oder CSS-Dateien.

uWSGI

uWSGI ist der Anwendungsserver, der die in Python/Django geschriebene DefectDojo-Plattform ausführt und alle dynamischen Inhalte bereitstellt.

Message Broker

Der Anwendungsserver übergibt Aufgaben an einen Message Broker zur asynchronen Ausführung. Im Docker-Compose-Setup wird derzeit nur Valkey als Broker unterstützt. Das Helm-Chart nutzt weiterhin Redis als Broker, wird aber in Kürze auf Valkey umgestellt.

Celery Worker

Aufgaben wie die Deduplizierung oder die JIRA-Synchronisierung werden asynchron im Hintergrund vom Celery Worker ausgeführt.

Celery Beat

Um Benutzer zum Beispiel über anstehende Engagements zu informieren, führt DefectDojo geplante Aufgaben aus. Diese Aufgaben werden mit Celery Beat geplant und ausgeführt.

Initializer

Der Initializer richtet die Datenbank ein, pflegt sie und führt nach Versions-Upgrades die Migrationen aus. Er beendet sich selbst, sobald alle Aufgaben erledigt sind.

Datenbank

Die Datenbank speichert alle Anwendungsdaten von DefectDojo. Derzeit wird nur PostgreSQL unterstützt.