Skip to content

tufclient: authenticate repo requests as this machine - #82

Open
joaquimrocha wants to merge 2 commits into
mainfrom
eng-233-wit-signed-fetch
Open

joaquimrocha wants to merge 2 commits into
mainfrom
eng-233-wit-signed-fetch

Conversation

@joaquimrocha

@joaquimrocha joaquimrocha commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

This PR allows quarry to fetch the repo data using WIMSE.

@joaquimrocha
joaquimrocha force-pushed the eng-233-wit-signed-fetch branch from 0afe91d to b08d284 Compare October 14, 2026 14:09
@joaquimrocha
joaquimrocha requested a review from cyphar October 14, 2026 15:51
@joaquimrocha
joaquimrocha force-pushed the eng-233-wit-signed-fetch branch from b08d284 to 4db8b8e Compare October 15, 2026 21:11
A server that gives each machine only its own repo has to know which
machine is fetching.

A repo can now set an auth table of type "wimse" with an audience.
Requests to its metadata host then carry this machine's workload
identity token, from amutablectl's identity agent, and an RFC 9421
signature by a key quarry-client keeps in memory. Requests to other
hosts stay unsigned. Repos without the setting fetch as before.

Signed-off-by: Joaquim Rocha <joaquim@amutable.com>
Any failure to fetch a repo's first root.json skipped the repo. A
machine that could not authenticate then updated nothing and still
reported success.

Now only a missing root.json, which means the repo may not exist yet,
skips the repo. Any other failure is an error, so one repo that fails
this way stops the whole run.

Signed-off-by: Joaquim Rocha <joaquim@amutable.com>
@joaquimrocha
joaquimrocha force-pushed the eng-233-wit-signed-fetch branch from 4db8b8e to 5375f22 Compare October 19, 2026 08:41
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