1
1
# Base-image
2
2
FROM registry.suse.com/bci/dotnet-sdk:8.0 AS base
3
3
4
- ENV DOTNET_GENERATE_ASPNET_CERTIFICATE=false \
4
+ ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 \
5
+ DOTNET_GENERATE_ASPNET_CERTIFICATE=false \
5
6
DOTNET_NOLOGO=true \
7
+ DOTNET_RUNNING_IN_CONTAINER=true \
6
8
DOTNET_USE_POLLING_FILE_WATCHER=false \
7
9
NUGET_XMLDOC_MODE=skip \
8
- DOTNET_RUNNING_IN_CONTAINER=true \
9
- DOTNET_CLI_TELEMETRY_OPTOUT=1 \
10
+ PATH=${PATH}:/usr/local/bin \
11
+ PYTHONPATH=/opt/pypi \
10
12
npm_config_python=/usr/bin/python3.11
11
13
12
- RUN zypper refresh && zypper --non-interactive update && zypper --non-interactive install -l --no-recommends git-core nodejs22 npm22 python311 python311-pip wget zip unzip make gawk java-21-openjdk-devel \
13
- && dotnet --list-sdks \
14
- && npm install -g corepack \
15
- && zypper clean -a
14
+ RUN set -e; \
15
+ zypper refresh \
16
+ && zypper \
17
+ --non-interactive \
18
+ update \
19
+ && zypper \
20
+ --non-interactive \
21
+ install \
22
+ -l \
23
+ --no-recommends \
24
+ gawk \
25
+ git-core \
26
+ java-21-openjdk-devel \
27
+ make \
28
+ nodejs22 \
29
+ npm22 \
30
+ python311 \
31
+ python311-pip \
32
+ unzip \
33
+ wget \
34
+ zip \
35
+ && pip install \
36
+ --no-cache-dir \
37
+ --target ${PYTHONPATH} \
38
+ --upgrade \
39
+ atom-tools \
40
+ blint \
41
+ && dotnet --list-sdks \
42
+ && npm install -g \
43
+ corepack \
44
+ && zypper clean -a
16
45
17
46
CMD ["/bin/bash"]
18
47
@@ -21,48 +50,57 @@ CMD ["/bin/bash"]
21
50
# cdxgen-image
22
51
FROM base AS cdxgen
23
52
53
+ ARG VERSION=master
54
+
24
55
LABEL maintainer="CycloneDX" \
56
+ org.opencontainers.docker.cmd="docker run --rm -v /tmp:/tmp -p 9090:9090 -v $(pwd):/app:rw -t ghcr.io/cyclonedx/cdxgen-dotnet8:$VERSION -r /app --server" \
25
57
org.opencontainers.image.authors="Team AppThreat <
[email protected] >" \
58
+ org.opencontainers.image.description="Image with cdxgen SBOM generator for dotnet 8 apps" \
59
+ org.opencontainers.image.licenses="Apache-2.0" \
26
60
org.opencontainers.image.source="https://github.com/CycloneDX/cdxgen" \
61
+ org.opencontainers.image.title="cdxgen" \
27
62
org.opencontainers.image.url="https://github.com/CycloneDX/cdxgen" \
28
- org.opencontainers.image.version="rolling" \
29
63
org.opencontainers.image.vendor="CycloneDX" \
30
- org.opencontainers.image.licenses="Apache-2.0" \
31
- org.opencontainers.image.title="cdxgen" \
32
- org.opencontainers.image.description="Rolling image with cdxgen SBOM generator for dotnet 8 apps" \
33
- org.opencontainers.docker.cmd="docker run --rm -v /tmp:/tmp -p 9090:9090 -v $(pwd):/app:rw -t ghcr.io/cyclonedx/cdxgen-dotnet8:v11 -r /app --server"
64
+ org.opencontainers.image.version="$VERSION"
34
65
35
66
ENV CDXGEN_IN_CONTAINER=true \
67
+ DOSAI_CMD=/usr/local/bin/dosai \
36
68
NODE_COMPILE_CACHE="/opt/cdxgen-node-cache" \
37
- PYTHONPATH=/opt/pypi \
38
- DOSAI_CMD=/usr/local/bin/dosai
39
- ENV PATH=${PATH}:/usr/local/bin:${PYTHONPATH}/bin:/opt/cdxgen/node_modules/.bin
69
+ PATH=${PATH}:${PYTHONPATH}/bin:/opt/cdxgen/node_modules/.bin
40
70
41
71
COPY . /opt/cdxgen
42
72
43
73
RUN set -e; \
44
74
ARCH_NAME="$(rpm --eval '%{_arch}')"; \
45
- url=; \
46
75
case "${ARCH_NAME##*-}" in \
47
- 'x86_64') \
48
- DOSAI_ARCH_SUFFIX='-full'; \
49
- ;; \
50
- 'arm64') \
51
- DOSAI_ARCH_SUFFIX='-linux-arm64-full'; \
52
- ;; \
53
- 'aarch64' ) \
54
- DOSAI_ARCH_SUFFIX='-linux-arm64-full' ; \
55
- ;; \
56
- *) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
76
+ 'amd64' | 'x86_64') \
77
+ DOSAI_ARCH_SUFFIX='-full'; \
78
+ ;; \
79
+ 'aarch64' | 'arm64') \
80
+ DOSAI_ARCH_SUFFIX='-linux-arm64-full'; \
81
+ ;; \
82
+ * ) \
83
+ echo >&2 "error: unsupported architecture: '$ARCH_NAME'" ; \
84
+ exit 1 \
85
+ ;; \
57
86
esac \
58
- && cd /opt/cdxgen && corepack enable && corepack pnpm install --config.strict-dep-builds=true --prod --package-import-method copy --frozen-lockfile && corepack pnpm cache delete \
59
- && curl -L https://github.com/owasp-dep-scan/dosai/releases/latest/download/Dosai${DOSAI_ARCH_SUFFIX} -o /usr/local/bin/dosai \
60
- && chmod +x /usr/local/bin/dosai \
61
- && dosai --help \
62
- && mkdir -p ${NODE_COMPILE_CACHE} \
63
- && node /opt/cdxgen/bin/cdxgen.js --help \
64
- && pip install --upgrade --no-cache-dir blint atom-tools --target /opt/pypi \
65
- && rm -rf /root/.cache/node \
66
- && chmod a-w -R /opt
87
+ && cd /opt/cdxgen \
88
+ && corepack enable \
89
+ && corepack pnpm install \
90
+ --config.strict-dep-builds=true \
91
+ --frozen-lockfile \
92
+ --package-import-method copy \
93
+ --prod \
94
+ && corepack pnpm cache delete \
95
+ && curl -L https://github.com/owasp-dep-scan/dosai/releases/latest/download/Dosai${DOSAI_ARCH_SUFFIX} \
96
+ -o /usr/local/bin/dosai \
97
+ && chmod +x /usr/local/bin/dosai \
98
+ && dosai --help \
99
+ && mkdir -p ${NODE_COMPILE_CACHE} \
100
+ && node /opt/cdxgen/bin/cdxgen.js --help \
101
+ && rm -rf .npmrc /root/.cache/node \
102
+ && chmod a-w -R /opt
103
+
67
104
WORKDIR /app
105
+
68
106
ENTRYPOINT ["node", "/opt/cdxgen/bin/cdxgen.js"]
0 commit comments