Skip to content

Commit 147dca3

Browse files
authored
Generate and store an NPM SBOM on the Enterprise image (#660)
Signed-off-by: Juan Cruz Viotti <[email protected]>
1 parent 66f6695 commit 147dca3

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

enterprise/Dockerfile

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
FROM debian:trixie AS builder
22

3+
# NodeSource provides npm >= 10, required for the "npm sbom" command
34
RUN apt-get --yes update && apt-get install --yes --no-install-recommends \
4-
build-essential ca-certificates cmake sassc esbuild shellcheck nodejs npm \
5+
build-essential ca-certificates cmake sassc esbuild shellcheck curl gnupg \
56
openssl libssl-dev openssl-provider-fips \
7+
&& curl --fail --silent --show-error --location \
8+
https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \
9+
| gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
10+
&& echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \
11+
> /etc/apt/sources.list.d/nodesource.list \
12+
&& apt-get --yes update \
13+
&& apt-get install --yes --no-install-recommends nodejs \
614
&& apt-get clean && rm -rf /var/lib/apt/lists/*
715

816
# Enable the OpenSSL FIPS provider by running the module self-tests
@@ -28,6 +36,9 @@ COPY test/unit /source/test/unit
2836
COPY test/js /source/test/js
2937

3038
RUN cd /source && npm ci
39+
RUN mkdir -p /usr/share/sourcemeta/one \
40+
&& cd /source && npm sbom --sbom-format spdx --sbom-type library --omit dev \
41+
> /usr/share/sourcemeta/one/npm-packages.spdx.json
3142

3243
ARG SOURCEMETA_ONE_BUILD_TYPE=Release
3344
ARG SOURCEMETA_ONE_PARALLEL=2

0 commit comments

Comments
 (0)