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

image

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のみがサポートされています。