Skip to content

feat(provider): world-readable image fingerprint - #398

Merged
rldyourmnd merged 2 commits into
mainfrom
feat/world-readable-image-identity
Sep 4, 2026
Merged

feat(provider): world-readable image fingerprint#398
rldyourmnd merged 2 commits into
mainfrom
feat/world-readable-image-identity

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Why

Estate integration evidence cannot attest the live image: the Incus guest API returns HTTP 401 to uid runner. The helper already prefers /run/nddev/image-fingerprint when that file exists. The live provider did not write it.

What

The root assignment now creates /run/nddev (0755) and writes /run/nddev/image-fingerprint (0644) with the current 64-hex image digest. Cold, warm, retry-adopt and non-JIT paths all publish it before the job starts. Current images do not wait on a bake.

v0.1.5-nddev.123 is stamped from 4690150573fdff9909794026af4b8cb7c1a878c1 (two byte-identical rebuilds).

Not in this PR

Image tmpfiles for /run/nddev would change recipe bytes and require an alias bump. That belongs in the quiet-window bake with the Go seed.

Unprivileged jobs cannot read user.nddev.image-fingerprint from the
Incus guest API (HTTP 401). The root assignment now writes
/run/nddev/image-fingerprint as 0644 so the job can attest the live
image without a bake.
Stamp the derivative from the image-identity source commit and advance
the example platform pins with it.
@rldyourmnd
rldyourmnd force-pushed the feat/world-readable-image-identity branch from cb62086 to 95f17b5 Compare September 4, 2026 14:57
@rldyourmnd
rldyourmnd merged commit 47c54dc into main Sep 4, 2026
10 checks passed
@rldyourmnd
rldyourmnd deleted the feat/world-readable-image-identity branch September 4, 2026 15:03
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