-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion of Scale-out Architecture for High-volume Repositories TAP (TAP 21) #190
Comments
You mention TOFU but it's a little unclear how the client reacts when top level repository changes the "initial sub-repo metadata". Assume client has cached earlier sub-repo metadata and the new sub-repo metadata is not compatible with the sub-repo metadata in client cache (as it can't be guaranteed to be). How does client react? |
By "initial sub-repo metadata", we mean only Under normal circumstances, key rotation for a sub-repo would involve deploying a new So, the scenario you describe should not occur under normal operations. If it were to occur, presumably the top-level repo has to be considered canonical, since it is the root of trust (ie. the top-level repo's The client behaviour should presumably be to:
|
This is currently not part of the spec but I believe it would be a good addition: verify-from-bootstrap feature in python-tuf
If this scenario is not expected to happen... then I'm thinking I maybe have not understood who the signers/keyowners of the sub-repo are. Can you talk more about that? The reason I'm thinking I don't quite understand the setup is this:
|
I believe the client behaviour described above ought to handle this scenario reasonably well. But please correct me if you see a flaw in that process. We're working on incorporating it into the Specification section of the TAP.
First off, we are primarily targeting this scenario ("signers are repository automation"). I'll update the TAP to reflect this. That said, we considered re-using the same root metadata across all the sub-repos. However, when an online key (targets, snapshot or timestamp) is rotated, all of the metadata signed by that key needs to be re-signed. For a high-volume repository this can take a (relatively) long time. Separate root metadata per sub-repo allows for an incremental roll-out of new online keys. Note that this still allows implementers to re-use keys across sub-repos. In fact, I think this would be the recommended approach. |
TAP-21 originated with theupdateframework/specification/issues/309. Following discussion at the TUF community meeting on 2024-11-01, we've drafted TAP-21 and submitted a PR (#189).
In addition to broader discussions of TAP-21, we are specifically seeking feedback to:
We have thoughts on the sparse sections, but have not yet been able to articulate them clearly enough to include in the TAP.
The text was updated successfully, but these errors were encountered: