jfxs/image-factory

By jfxs

Updated about 2 months ago

An image to automatically update and publish Docker images by comparing SBOM changes

Image
Integration & delivery
0

10K+

jfxs/image-factory repository overview

Docker Image Factory

Software License Pipeline Status

A toolkit to automatically sign, update and publish Docker images by comparing SBOM changes. It contains a reusable GitLab CI template and a specific Docker image with usefull tools:

  • cosign,
  • docker,
  • docker-pushrm,
  • jq,
  • skopeo,
  • syft,
  • task.

The image is also automatically signed, updated and published:

  • lightweight image based on Alpine,
  • multiarch with support of amd64 and arm64,
  • automatically updated by comparing SBOM changes,
  • image signed with Cosign,
  • an SBOM attestation added using Syft,
  • available on Docker Hub and Quay.io.

GitLab The main repository.

Docker Hub The Docker Hub registry.

Quay.io The Quay.io registry.

Built with

Docker latest tag is 29.5.3-001, 29.5, 29 and contains:

NameVersionType
cosign2.6.3-r1apk
curl8.19.0-r0apk
git2.52.0-r0apk
github.com/go-task/task/v3v3.51.1go-module
jq1.8.1-r0apk
skopeo1.20.0-r8apk
syft1.38.0-r6apk

Details are updated on Dockerhub Overview page when an image is published.

Versioning

The Docker tag is defined by the Docker version used and an increment to differentiate build with the same Docker version:

<docker_version>-<increment>

Example: 20.10.22-003

Signature and attestation

Cosign public key:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEa3yV6+yd/l4zh/tfT6Tx+zn0dhy3
BhFqSad1norLeKSCN2MILv4fZ9GA6ODOlJOw+7vzUvzZVr9IXnxEdjoWJw==
-----END PUBLIC KEY-----

The public key is also available online: https://gitlab.com/op_so/docker/cosign-public-key/-/raw/main/cosign.pub.

To verify an image:

cosign verify --key cosign.pub $IMAGE_URI

To verify and get the SBOM attestation:

cosign verify-attestation --key cosign.pub --type spdxjson $IMAGE_URI | jq '.payload | @base64d | fromjson | .predicate'

Authors

License

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License (MIT). See the LICENSE for details.

Tag summary

Content type

Image

Digest

sha256:ff3a7dd19

Size

229.3 MB

Last updated

about 2 months ago

docker pull jfxs/image-factory