Skip to content

Commit e0a7b9f

Browse files
docs: document sbom template usage and retention requirement
1 parent 9d3c6b5 commit e0a7b9f

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

.gitlab-ci.yml.dist

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ include:
3131
- 'https://raw.githubusercontent.com/move-elevator/gitlab-ci-templates/main/cache/cache-prod-warmup.yaml'
3232
- 'https://raw.githubusercontent.com/move-elevator/gitlab-ci-templates/main/security/security-composer-check-scheduled.yaml'
3333
- 'https://raw.githubusercontent.com/move-elevator/gitlab-ci-templates/main/security/security-npm-check-scheduled.yaml'
34+
- 'https://raw.githubusercontent.com/move-elevator/gitlab-ci-templates/main/security/security-sbom.yaml'
3435

3536
#-----------------------------------------------------------------------------------------------------------------------
3637
# CONFIGURATION (overrides)

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,17 @@ Includes:
139139
> [!NOTE]
140140
> Needs to be scheduled in GitLab-CI.
141141

142+
Generate a CycloneDX SBOM (Software Bill of Materials) of all locked composer and npm dependencies using [syft](https://github.com/anchore/syft).
143+
The SBOM is stored as job artifact and published to the project's Generic Package Registry, which serves as technical documentation in terms of the Cyber Resilience Act (CRA).
144+
145+
Includes:
146+
- `security/security-sbom.yaml`
147+
148+
Runs on semantic version tags and manually on the default branch. Published as `packages/generic/sbom/<version>/sbom.cdx.json`, where `<version>` is the tag without a leading `v` or `0.0.0-<short-sha>` for untagged builds.
149+
150+
> [!IMPORTANT]
151+
> Technical documentation has to be kept for the declared support period. Make sure the project has no cleanup policy that removes generic packages.
152+
142153
> [!IMPORTANT]
143154
> A pipeline schedule needs to have set the variable `SCHEDULE_TASK_NAME` to the desired task, e.g. `security:composer:check:scheduled` or `security:npm:check:scheduled`.
144155
> This is a workaround (see according rules) to address specific jobs in a scheduled pipeline.

0 commit comments

Comments
 (0)