feat(ci): reusable de SBOM CycloneDX sem docker CLI (INFRA-68625) #53
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/INFRA-68625-reusable-sbom"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
O quê
Novo
.forgejo/workflows/reusable-sbom.yml: SBOM CycloneDX que roda sem docker CLI (INFRA-68625).Por quê
DANI, Hub e TMF9 têm cada um uma cópia própria do
sbom.yml, com hashes diferentes. As três chamam o Trivy pordocker rundentro datmf-ci-node:20, que não tem docker CLI. Resultado: o SBOM noturno falha (DANI, run 3445 de 06/10: "runner sem docker CLI") ou instala o docker em tempo de execução, o que a regra de soberania proíbe.Como
tmf-ci-node:20, porque checkout e upload-artifact precisam de node.tmf/ci-images/tmf-ci-trivy:0.68.2, no nosso registry. A camada é conferida pelo digest e o binário extraído pelo sha256; depois o passo conferetrivy --version. Não há origem externa,curl|shnem docker-in-docker.env, nunca interpolados norun:. Nome e caminho de cada alvo são validados.min-components.Adoção (cada produto mantém o próprio gatilho)
O
min-componentsprecisa ser calibrado por produto. Na prova com o Hub, o backend deu 13 componentes. DANI: DAIS-68624. Hub e TMF9: issues nas sessões dos produtos.Prova
python3 -m unittest discover -s tests/soberania -v: 25 testes OK. Os 11 novos executam orun:real com umtrivyfalso. Cobrem: um arquivo por alvo; nome inválido,.., caminho absoluto etargetsvazio falham; diretório ausente falha.tmf-ci-node:20(amd64) com os manifests do Hub:docker CLI: ausente;layer.tgz: OKetrivy: OK(as duas conferências de sha256);Version: 0.68.2;🤖 Generated with Claude Code
https://claude.ai/code/session_01Uab9wJsQ19HdJHwYi2uVip