Arquitectura del sistema (Open Source)

image

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.