このプロジェクトについて

Central Cyclone は、複数のリポジトリにわたる依存関係の追跡を合理化するために設計された、中央集約型のソフトウェア部品表 (SBOM) 生成サービスです。cdxgen ツールをベースに構築されており、ユーザーは単一の JSON 設定ファイルから複数のターゲットとリポジトリを構成して分析できるため、プロジェクトごとに個別のパイプラインを作成する必要がありません。このアプローチは、Renovate が複数のリポジトリを管理する方法に似ています。 主な機能は以下の通りです: - **中央集約型構成**:すべての SBOM ターゲットと設定を 1 つの構成ファイルで管理します。構成には、DependencyTrack の接続詳細、特定のターゲット(例:node、java)を持つリポジトリ URL、および将来の GitOps 機能のためのオプションのアプリケーション定義が含まれます。 - **DependencyTrack 統合**:生成された SBOM を DependencyTrack インスタンスに直接アップロードします。DEPENDENCYTRACK_API_KEY 環境変数と必須の DependencyTrack 構成が必要です。 - **CLI コマンド**: - `analyze`:構成されたリポジトリをクローンして分析します。結果はローカルに保存するか、直接アップロードできます。 - `upload`:以前に生成された SBOM ファイルをアップロードします。これは、ネットワークが制限された環境での 2 段階パイプラインに役立ちます。 - `dt projects sync`:構成内のアプリケーション定義に基づいて、DependencyTrack プロジェクトを作成し、同期します。 - **プライベートリポジトリのサポート**:GitHub と Azure DevOps からのプライベートリポジトリのクローンをサポートします。GitHub には、読み取り専用のコンテンツ権限を持つ細粒度の個人用アクセストークンが必要です。Azure DevOps には、コード読み取り権限を持つ PAT が必要です。 - **Docker サポート**:公式の Docker イメージが提供されており、git や cdxgen などの必要な依存関係が含まれています。ユーザーは、構成ファイルと作業フォルダをマウントして、ツールを簡単に実行できます。 - **GitOps モード**:現在アルファ版ですが、この機能は GitOps リポジトリを監視し、デプロイされたバージョンの SBOM を自動的に作成することを目的としています。 このツールは構成駆動型で、ターゲットの `directory` プロパティを介して、さまざまなプログラミング言語とモノレポ構造をサポートします。CI/CD パイプラインでの自動化と使いやすさを考慮して設計されています。