Skip to content

Commit 686bf29

Browse files
Added inline SBOM for binaries downloaded outside package manager
1 parent 62c197f commit 686bf29

10 files changed

+85
-8
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
.jq-template.awk
2+
.template-helper-functions.jq

24/cli/Dockerfile

Lines changed: 9 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

24/dind-rootless/Dockerfile

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

24/dind/Dockerfile

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Dockerfile-cli.template

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{{ include "shared" -}}
2-
FROM alpine:3.18
2+
{{ include ".template-helper-functions" -}}
3+
FROM alpine:{{ .alpine }}
34

45
RUN apk add --no-cache \
56
ca-certificates \
@@ -34,7 +35,22 @@ RUN set -eux; \
3435
; \
3536
rm docker.tgz; \
3637
\
37-
docker --version
38+
docker --version; \
39+
\
40+
echo {{
41+
{
42+
name: "docker",
43+
version: .version,
44+
supplier: "Organization: Docker, Inc",
45+
params: {
46+
os_name: "alpine",
47+
os_version: .alpine
48+
},
49+
licenses: [
50+
"Apache-2.0"
51+
]
52+
} | sbom | tostring | @sh
53+
}} > /usr/local/docker.spdx.json ;
3854
{{
3955
{
4056
buildx: .buildx,
@@ -66,7 +82,22 @@ RUN set -eux; \
6682
ln -sv "$plugin" /usr/local/bin/; \
6783
docker-{{ $key }} --version; \
6884
{{ ) else "" end -}}
69-
docker {{ $key }} version
85+
docker {{ $key }} version; \
86+
\
87+
echo {{
88+
{
89+
name: $key,
90+
version: .version,
91+
supplier: "Organization: Docker, Inc",
92+
params: {
93+
os_name: "alpine",
94+
os_version: "3.18"
95+
},
96+
licenses: [
97+
"Apache-2.0"
98+
]
99+
} | sbom | tostring | @sh
100+
}} > /usr/local/docker-{{ $key }}.spdx.json ;
70101
{{
71102
)
72103
)

Dockerfile-dind-rootless.template

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ RUN set -eux; \
3535
; \
3636
rm rootless.tgz; \
3737
\
38+
dockerd --version; \
39+
containerd --version; \
40+
ctr --version; \
41+
runc --version; \
3842
rootlesskit --version; \
3943
vpnkit --version
4044

Dockerfile-dind.template

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{{ include "shared" -}}
2+
{{ include ".template-helper-functions" -}}
23
FROM docker:{{ env.version }}-cli
34

45
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
@@ -56,7 +57,22 @@ RUN set -eux; \
5657
dockerd --version; \
5758
containerd --version; \
5859
ctr --version; \
59-
runc --version
60+
runc --version; \
61+
{{ .version as $version | ["dockerd", "docker-init", "docker-proxy"] | map( . as $binary | ( -}}
62+
echo {{
63+
{
64+
name: $binary,
65+
version: $version,
66+
supplier: "Organization: Docker, Inc",
67+
params: {
68+
os_name: "alpine",
69+
os_version: "3.18"
70+
},
71+
licenses: [
72+
"Apache-2.0"
73+
]
74+
} | sbom | tostring | @sh
75+
}} > /usr/local/{{ $binary }}.spdx.json; {{ )) | join("\\\n") }}
6076

6177
# https://github.com/docker/docker/tree/master/hack/dind
6278
ENV DIND_COMMIT {{ .dindCommit }}

apply-templates.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@ elif [ "$BASH_SOURCE" -nt "$jqt" ]; then
1111
wget -qO "$jqt" 'https://github.com/docker-library/bashbrew/raw/9f6a35772ac863a0241f147c820354e4008edf38/scripts/jq-template.awk'
1212
fi
1313

14+
jqf='.template-helper-functions.jq'
15+
if [ -n "${BASHBREW_SCRIPTS:-}" ]; then
16+
jqf="$BASHBREW_SCRIPTS/template-helper-functions.jq"
17+
elif [ "$BASH_SOURCE" -nt "$jqf" ]; then
18+
wget -qO "$jqf" 'https://github.com/docker-library/bashbrew/raw/master/scripts/template-helper-functions.jq'
19+
fi
20+
1421
if [ "$#" -eq 0 ]; then
1522
versions="$(jq -r 'keys | map(@sh) | join(" ")' versions.json)"
1623
eval "set -- $versions"

versions.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"24": {
3+
"alpine": "3.18",
34
"arches": {
45
"amd64": {
56
"dockerUrl": "https://download.docker.com/linux/static/stable/x86_64/docker-24.0.7.tgz",

versions.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ declare -A dockerArches=(
1414

1515
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
1616

17+
defaultAlpine='3.18'
18+
1719
versions=( "$@" )
1820
if [ ${#versions[@]} -eq 0 ]; then
1921
versions=( */ )
@@ -203,9 +205,11 @@ for version in "${versions[@]}"; do
203205
echo "$version: $fullVersion (buildx $buildxVersion, compose $composeVersion)"
204206

205207
export fullVersion dindLatest
208+
export defaultAlpine
206209
doc="$(
207210
jq -nc --argjson buildx "$buildx" --argjson compose "$compose" '{
208211
version: env.fullVersion,
212+
alpine: env.defaultAlpine,
209213
arches: {},
210214
dindCommit: env.dindLatest,
211215
buildx: $buildx,

0 commit comments

Comments
 (0)