Skip to content

feat(flatcar): add containerd auto-update workflow, improve pipeline observability and SBOM management#482

Open
mgrzybek wants to merge 4 commits into
mainfrom
fix/flatcar-update-verbosity
Open

feat(flatcar): add containerd auto-update workflow, improve pipeline observability and SBOM management#482
mgrzybek wants to merge 4 commits into
mainfrom
fix/flatcar-update-verbosity

Conversation

@mgrzybek

@mgrzybek mgrzybek commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • New workflow flatcar-containerd-update.yml — detects the latest containerd release available in flatcar/sysext-bakery nightly (01:00 UTC), compares with containerd_version in vars/flatcar/versions.json, and opens a PR when a newer version is found. The actual sysext upload to S3 is handled by the existing Flatcar sysexts workflow on the next run after merge.
  • Improved observability in flatcar-update.yml — each version detection step now logs its result explicitly, and a new Compare versions step summarises both values and the build decision before build_image is evaluated.
  • Reset flatcar_version in vars/flatcar/versions.json — clears the placeholder version so the next flatcar-update run detects a real version change and triggers build_image for the first time (the flatcar_image_url field was previously empty).
  • build_image now reuses Flatcar's own official SBOM instead of regenerating one (Flatcar publishes a signed flatcar_production_image_sbom.json for every stable release). flatcar-download-image fetches it alongside the image, anchore/scan-action scans it directly, and flatcar-publish-image uploads it to S3 unchanged. This removes the guestmount/guestunmount steps, the libguestfs-tools dependency and the anchore/sbom-action step from the job.

How the containerd update flow works

flatcar-containerd-update
└─ detect latest containerd-* tag in sysext-bakery
└─ if version changed, then PR updating versions.json

PR merged
└─ flatcar-sysexts
└─ downloads containerd--x86-64.raw from sysext-bakery
└─ uploads to S3
└─ updates sysext-manifest.json → PR

How the official SBOM is used

build_image
└─ flatcar-download-image
└─ downloads flatcar_production_openstack_image.img.bz2
└─ downloads flatcar_production_image_sbom.json (official, signed by Flatcar)
└─ anchore/scan-action scans the official SBOM for critical vulnerabilities
└─ flatcar-publish-image uploads the image + the official SBOM (as-is) + cosign bundle to S3

mgrzybek added 2 commits July 8, 2026 16:44
Signed-off-by: Mathieu Grzybek <mathieu@stackhpc.com>
Signed-off-by: Mathieu Grzybek <mathieu@stackhpc.com>
@mgrzybek
mgrzybek requested a review from a team as a code owner July 8, 2026 14:54
mgrzybek added 2 commits July 8, 2026 17:01
Signed-off-by: Mathieu Grzybek <mathieu@stackhpc.com>
Flatcar publishes a signed SBOM for every release
(flatcar_production_image_sbom.json). Download and reuse it instead of
mounting the image and running anchore/sbom-action, which drops the
libguestfs mount/unmount steps entirely and scans/publishes the
official SBOM as-is.

Signed-off-by: Mathieu Grzybek <mathieu@stackhpc.com>
@mgrzybek mgrzybek changed the title feat(flatcar): add containerd auto-update workflow and improve pipeline observability feat(flatcar): add containerd auto-update workflow, improve pipeline observability and SBOM management Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant