Arquitectura del sistema (Open Source)

NGINX
El servidor web NGINX entrega todo el contenido estático, por ejemplo, imágenes, archivos JavaScript o archivos CSS.
uWSGI
uWSGI es el servidor de aplicaciones que ejecuta la plataforma DefectDojo, escrita en Python/Django, para entregar todo el contenido dinámico.
Bróker de mensajes
El servidor de aplicaciones envía tareas a un bróker de mensajes para su ejecución asíncrona. Actualmente, solo Valkey es compatible como bróker en la configuración de docker compose. El Helm chart todavía usa Redis como bróker compatible, pero se migrará a Valkey próximamente.
Celery Worker
Tareas como la deduplicación o la sincronización con JIRA se ejecutan de forma asíncrona en segundo plano mediante el Worker de Celery.
Celery Beat
Para identificar y notificar a los usuarios sobre eventos como los próximos Compromisos, DefectDojo ejecuta tareas programadas. Estas tareas se programan y ejecutan mediante Celery Beat.
Initializer
El Initializer configura y mantiene la base de datos, y sincroniza/ejecuta las migraciones tras las actualizaciones de versión. Se apaga automáticamente una vez completadas todas las tareas.
Base de datos
La base de datos almacena todos los datos de la aplicación DefectDojo. Actualmente solo se admite PostgreSQL.