À propos du projet

Central Cyclone est un service centralisé de génération de Software Bill of Materials (SBOM) conçu pour rationaliser le suivi des dépendances à travers plusieurs référentiels. Construit autour de l'outil `cdxgen`, il permet aux utilisateurs de configurer et d'analyser plusieurs cibles et référentiels à partir d'un seul fichier de configuration JSON, éliminant ainsi la nécessité de créer des pipelines distincts pour chaque projet. Cette approche est similaire à la façon dont Renovate gère plusieurs référentiels. Les principales fonctionnalités comprennent : - **Configuration centralisée** : Gérez toutes les cibles SBOM et les paramètres dans un seul fichier de configuration. La configuration comprend des sections pour les détails de connexion DependencyTrack, les URL de référentiel avec des cibles spécifiques (par exemple, node, java) et des définitions d'applications facultatives pour les capacités GitOps futures. - **Intégration DependencyTrack** : Télécharge les SBOM générés directement vers une instance DependencyTrack. Cela nécessite la variable d'environnement `DEPENDENCYTRACK_API_KEY` et une configuration DependencyTrack obligatoire. - **Commandes CLI** : - `analyze` : Clone et analyse les référentiels configurés. Les résultats peuvent être enregistrés localement ou téléchargés directement. - `upload` : Télécharge les fichiers SBOM générés précédemment, utile pour les pipelines à deux étapes dans les environnements réseau restreints. - `dt projects sync` : Crée et synchronise les projets DependencyTrack en fonction des définitions d'applications dans la configuration. - **Prise en charge des référentiels privés** : Prend en charge le clonage de référentiels privés à partir de GitHub et Azure DevOps à l'aide de jetons d'accès. GitHub nécessite des jetons d'accès personnels à granularité fine avec des autorisations de contenu en lecture seule, tandis qu'Azure DevOps nécessite des PAT avec des autorisations de lecture de code. - **Prise en charge de Docker** : Une image Docker officielle est fournie, qui comprend les dépendances nécessaires telles que `git` et `cdxgen`. Les utilisateurs peuvent monter leur fichier de configuration et leur dossier de travail pour exécuter l'outil facilement. - **Mode GitOps** : Actuellement en version alpha, cette fonctionnalité vise à surveiller les référentiels GitOps et à créer automatiquement des SBOM pour les versions déployées. L'outil est piloté par la configuration, prenant en charge divers langages de programmation et structures de monorepository via la propriété `directory` dans les cibles. Il est conçu pour l'automatisation et la facilité d'utilisation dans les pipelines CI/CD.