You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 22, 2026. It is now read-only.
The build process for the constellation images is not deterministic.
During image creation, we add an additional system user etcd to the user database. The user's shadow entry contains a date of last password change which is set to the date of the build. This results in a different rootfs, a different dm-verity tag and different image measurements.
Issue description
The build process for the constellation images is not deterministic.
During image creation, we add an additional system user
etcdto the user database. The user's shadow entry contains adate of last password changewhich is set to the date of the build. This results in a different rootfs, a different dm-verity tag and different image measurements.Workaround
Stick close to the reproducible builds workflow.
Check out the commit prior to the tagged commit to be verified:
Modify the build process to use a static "last changed" date for the password (the date of the release commit).
Build the release images:
Calculate the expected measurements for the local images and compare with the measurements configured by
constellation config fetch-measurements.bazel run --run_under sudo //image/measured-boot/cmd -- bazel-bin/image/system/$IMAGE/constellation.raw /tmp/measurements.jsonVersion
This affects v2.19.0 and older releases.