Sobre o projeto

Central Cyclone é um serviço centralizado de geração de Bill of Materials de Software (SBOM) projetado para agilizar o rastreamento de dependências em vários repositórios. Construído em torno da ferramenta `cdxgen`, ele permite que os usuários configurem e analisem vários alvos e repositórios a partir de um único arquivo de configuração JSON, eliminando a necessidade de criar pipelines separados para cada projeto. Essa abordagem é semelhante à forma como o Renovate gerencia vários repositórios. Principais recursos incluem: - **Configuração Centralizada**: Gerencie todos os alvos de SBOM e configurações em um único arquivo de configuração. A configuração inclui seções para detalhes de conexão do DependencyTrack, URLs de repositório com alvos específicos (por exemplo, node, java) e definições de aplicativo opcionais para futuras capacidades de GitOps. - **Integração com DependencyTrack**: Carrega SBOMs gerados diretamente para uma instância do DependencyTrack. Requer a variável de ambiente `DEPENDENCYTRACK_API_KEY` e a configuração obrigatória do DependencyTrack. - **Comandos CLI**: - `analyze`: Clona e analisa repositórios configurados. Os resultados podem ser salvos localmente ou carregados diretamente. - `upload`: Carrega arquivos SBOM gerados anteriormente, útil para pipelines de duas etapas em ambientes de rede restritos. - `dt projects sync`: Cria e sincroniza projetos do DependencyTrack com base nas definições de aplicativo na configuração. - **Suporte a Repositórios Privados**: Suporta a clonagem de repositórios privados do GitHub e Azure DevOps usando tokens de acesso. O GitHub requer tokens de acesso pessoal de granularidade fina com permissões de leitura de conteúdo, enquanto o Azure DevOps requer PATs com permissões de leitura de código. - **Suporte a Docker**: Uma imagem Docker oficial é fornecida, que inclui dependências necessárias como `git` e `cdxgen`. Os usuários podem montar seu arquivo de configuração e pasta de trabalho para executar a ferramenta facilmente. - **Modo GitOps**: Atualmente em alfa, esse recurso visa monitorar repositórios GitOps e criar automaticamente SBOMs para versões implantadas. A ferramenta é orientada por configuração, suportando várias linguagens de programação e estruturas de monorepo por meio da propriedade `directory` nos alvos. Ela foi projetada para automação e facilidade de uso em pipelines de CI/CD.