システムアーキテクチャ (Open Source)

NGINX
WebサーバーであるNGINXは、画像、JavaScriptファイル、CSSファイルなど、すべての静的コンテンツを配信します。
uWSGI
uWSGIは、Python/Djangoで書かれたDefectDojoプラットフォームを実行し、すべての動的コンテンツを提供するアプリケーションサーバーです。
メッセージブローカー
アプリケーションサーバーは、非同期実行のためにタスクをメッセージブローカーに送信します。現在、docker compose構成ではブローカーとしてValkeyのみがサポートされています。 Helmチャートは引き続きブローカーとしてRedisを使用していますが、間もなくValkeyに移行される予定です。
Celery Worker
重複排除やJIRA同期などのタスクは、Celery Workerによってバックグラウンドで非同期に実行されます。
Celery Beat
今後予定されているエンゲージメントなどについてユーザーに識別・通知するために、DefectDojoはスケジュールされたタスクを実行します。これらのタスクは、Celery Beatを使用してスケジュール・実行されます。
Initializer
Initializerは、データベースをセットアップ・維持し、バージョンアップグレード後に マイグレーションを同期・実行します。すべてのタスクが完了すると、自動的に シャットダウンします。
データベース
データベースは、DefectDojoのすべてのアプリケーションデータを保存します。現在はPostgreSQLのみがサポートされています。