Skip to content

Design client library #1135

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

Closed
lukpueh opened this issue Sep 10, 2020 · 9 comments
Closed

Design client library #1135

lukpueh opened this issue Sep 10, 2020 · 9 comments
Labels
client Related to the client (updater) implementation decision record Outcome of this discussion should be tracked in a decision record discussion Discussions related to the design, implementation and operation of the project

Comments

@lukpueh
Copy link
Member

lukpueh commented Sep 10, 2020

Identify what functionality from existing updater/download modules should exist in a TUF client on top of a metadata model as sketched in #1112.

Start with API functionality.

Coordinate with #1134.

@lukpueh lukpueh added this to the Client Refactor milestone Sep 10, 2020
@joshuagl joshuagl added the client Related to the client (updater) implementation label Sep 10, 2020
@lukpueh lukpueh added the discussion Discussions related to the design, implementation and operation of the project label Sep 10, 2020
@joshuagl
Copy link
Member

joshuagl commented Sep 10, 2020

Things to consider, based on learnings from a PoC integration with pip (cc @jku):

TAPs to be aware of when designing:

@jku
Copy link
Member

jku commented Sep 14, 2020

  • allowing a package manager to plug-in their own network/download stack

Filed #1142 for this

@jku
Copy link
Member

jku commented Sep 14, 2020

  • supporting metadata and targets on separate hosts, and different targets on different hosts

and #1143 for this

@jku
Copy link
Member

jku commented Oct 2, 2020

See #1158 for "client/updater: Parallel Downloads"

@joshuagl joshuagl added the decision record Outcome of this discussion should be tracked in a decision record label Oct 14, 2020
@joshuagl
Copy link
Member

We're seeing multiple areas where the current Updater interface/API is brittle or confusing (#1143, #1174, possibly others).

I had originally expected that we would try to maintain the current updater API, but we should review that and even if we do stay close to the current API plan to fix the confusing/outdated/inflexible aspects.

@jku
Copy link
Member

jku commented May 19, 2021

I had originally expected that we would try to maintain the current updater API, but we should review that and even if we do stay close to the current API plan to fix the confusing/outdated/inflexible aspects.

Same same.

Now that we've kicked out mirrors (so are not directly compatible anyway) and now that I've had time to think about it, I think we should improve the API as much as we can. It'll still be quite close to the old one (so not hard to port) but hopefully an improvement.

Latest ideas in #1317 (comment)

@sechkova sechkova added the backlog Issues to address with priority for current development goals label May 26, 2021
@joshuagl joshuagl removed the backlog Issues to address with priority for current development goals label Jul 28, 2021
@MVrachev
Copy link
Collaborator

MVrachev commented Aug 27, 2021

I think that in a way this issue and issue #1317 are covering the same stuff.
Do we need that one?
If we don't, I think the only two proposals left that are not addressed are

TAPs to be aware of when designing:

which we can move in #1317 as TODO items.

@jku
Copy link
Member

jku commented Sep 17, 2021

IMO the final missing piece(s) here might be documented in #1580.

@jku
Copy link
Member

jku commented Nov 30, 2021

I'm sure there are features that are still wanted by someone, but I think the client design is now done and implemented: anything still missing is a new feature, closing this one

@jku jku closed this as completed Nov 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Related to the client (updater) implementation decision record Outcome of this discussion should be tracked in a decision record discussion Discussions related to the design, implementation and operation of the project
Projects
None yet
Development

No branches or pull requests

5 participants