Skip to content

Commit

Permalink
Add a buildah task step that generates base images sbom
Browse files Browse the repository at this point in the history
This steps uses a python script for creating the sbom
https://github.com/redhat-appstudio/build-tasks-dockerfiles/tree/main/base-images-sbom-script

It expects 3 arguments:
1. path to the sbom file that will be updated in place with base images data
2. path to a file containing base images as taken from from the dockerfile (with preserved order)
STONEBLD-2042
3. path to a file containing base images with digests, generated from the output of buildah images --format '{{ .Name }}:{{ .Tag }}@{{ .Digest }}'.
The dockerfile order must be preserved as well

for more information, please read the README the script README
  • Loading branch information
mkosiarc committed Mar 15, 2024
1 parent 3e548a3 commit 9d72f4e
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions task/buildah/0.1/buildah.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,9 @@ spec:
fi
done
# Needed to generate base images SBOM
echo "$BASE_IMAGES" > /workspace/base_images_from_dockerfile
securityContext:
capabilities:
add:
Expand Down Expand Up @@ -350,6 +353,17 @@ spec:
securityContext:
runAsUser: 0

- name: create-base-images-sbom
image: quay.io/redhat-appstudio/base-images-sbom-script@sha256:68b2bfe67ed6b09d6062d00ac6c3441921733861
# per https://kubernetes.io/docs/concepts/containers/images/#imagepullpolicy-defaulting
# the cluster will set imagePullPolicy to IfNotPresent
# also per direction from Ralph Bean, we want to use image digest based tags to use a cue to automation like dependabot or renovatebot to periodially submit pull requests that update the digest as new images are released.
script: |
python3 /app/base_image_sbom_script.py --sbom=sbom-cyclonedx.json --base-images-from-dockerfile=/workspace/base_images_from_dockerfile --base-images-digests=$(results.BASE_IMAGES_DIGESTS.path)
workingDir: $(workspaces.source.path)
securityContext:
runAsUser: 0

- name: inject-sbom-and-push
image: quay.io/redhat-appstudio/buildah:v1.31.0@sha256:34f12c7b72ec2c28f1ded0c494b428df4791c909f1f174dd21b8ed6a57cf5ddb
computeResources: {}
Expand Down

0 comments on commit 9d72f4e

Please sign in to comment.