-
Notifications
You must be signed in to change notification settings - Fork 27
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
Implement Sigstore TUF Client Spec #38
Comments
@kommendorkapten and I have been working on a new Sigstore TUF client internally at GitHub that accomplishes the goals stated above, and we hope to open-source it soon. We are currently evaluating switching to https://github.com/rdimitrov/go-tuf-metadata in place of https://github.com/theupdateframework/go-tuf. |
This is done in #41. |
@codysoyland To confirm, "Add API/ability to initialize multiple TUF repos in their own namespaces, given a URL and root.json, which can be used by private Sigstore instances with their own fully-contained TUF repos." is supported? Slightly separate question, is concurrent multi-TUF-repo supported? |
Missed your message until now! Yes, that bullet point should be supported here. If you supply a trust anchor (TUF root.json contents) to Options.Root, you can initialize your own TUF repo. As for multi-TUF-repo, I think the answer is no -- we're not using the multirepo package, but to be honest, I'm not sure how that works exactly. |
Hey @codysoyland and @haydentherapper 👋 So in general it aims to implement the following TAP - https://github.com/theupdateframework/taps/blob/master/tap4.md The idea is that you set up your TUF client with a This allows you to configure various scenarios, some of which are:
I don't have any information if it has been used that much yet (perhaps not), but I decided to implement it back then as it allows for some interesting configurations and use cases. |
Thanks @codysoyland and @rdimitrov. For my first question, https://github.com/sigstore/sigstore-go/blob/main/pkg/tuf/client.go#L39 confirms that we cache metadata per repo URL, so we can initialize multiple repositories given a client. This should cover the use case where I want to load in a TUF from multiple sources, eg one from the public instance, one from a private instance. Given this, I don't think we'll need to integrate with TAP-4 yet, but I am really happy to see it implemented as a standardized solution to this problem. |
Description
The TUF client in
sigstore-go
is very much an MVP, and we would like to enhance it to accomplish a variety of goals:root.json
, which can be used by private Sigstore instances with their own fully-contained TUF repos.The text was updated successfully, but these errors were encountered: