go-tuf
go-tuf copied to clipboard
Implement TAP 4: Multi-repository mappings
This tracking issue is to implement TAP 4: Multiple repository consensus on entrusted targets.
To implement this, I propose creating a NEW type MultiRepositoryClient which takes a map.json file. It would expose NewClient, Init, Update, Targets, and Download similar to the existing client.
Internally, it would contain a map from repository name to existing TUF client updaters. The logic for priority and consensus would exist in the MultiRepositoryClient.
The purpose of this is to use in Sigstore's TUF client to support multiple repositories, augmenting the public root with custom, hosted, or test repositories with an AND relationship.
cc @kommendorkapten @haydentherapper
hi @asraa, have you already started working on this? can I help too?
Hi @dibrinsofor! Definitely take a first stab!
I would highly recommend making changes incremental, since the smaller the change the faster it will be for me to review. You can start with a package parsing map.json!
@dibrinsofor any updates here? I'm going to need this for something in the next several weeks. Happy to take it over if you haven't found the time, or work together (pair program or similar).
@znewman01 Sure, the pair programming should work. I have been preoccupied. let me know when you'll be free to do this.
I'm in US/Eastern; what TZ are you in? Shoot me an email at zjn@ and this domain and we can schedule.
I'd prefer to kick things off this week if possible—maybe Thursday 7–10am (US/Eastern), or Friday most of the day. Let me know your availability and preferred platform for screenshare (I can do Zoom or Google Meet, and will consider other platforms as well)
If it wouldn't be super duper awkward, I'd love to jump in and participate. I'll be happy to just observe :)
@dibrinsofor how's it going? Anything we can help with?
I think #396 can be merged pretty soon but you need to rebase and do a couple of things.
This would also help Datadog simplify it's Remote Configuration implementation! @arbll
Closing since the code base changed and go-tuf now has support for this through the multi repo package.
Thanks for raising this 👍