-
Notifications
You must be signed in to change notification settings - Fork 276
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
Design repository library #1136
Comments
I think a good place to start with this would be looking at what scaffolding Warehouse ends up building on top of the metadata API. |
See also a WIP addition to the specification describes the repository workflow for adding/updating targets which this library should implement: theupdateframework/specification#153 |
This has landed and can be referenced here https://theupdateframework.github.io/specification/latest/#adding-updating-targets |
Linking to #1459 (comment). If this issue is top-down design that one is definitely bottom-up: I'm creating initial repositories in a few places and the code always looks quite ugly but the last comment maybe has a decent idea that would work without lots of new API. |
Adding the list of surveys of existing TUF repository implementations here so that we can close #1612... |
Adding more relevant documents ...
Next steps:
|
Remove `bump_version()` method, which is just an alias for "+= 1" on the version attribute. For a slim low-level API it seems okay to just directly access/modify the attribute. The extra level of abstraction of "bumping a version" is more appropriate for a repository library (see theupdateframework#1136). This patch also removes a related unit test and updates another one to directly do `(...).version +=`. Signed-off-by: Lukas Puehringer <[email protected]>
Remove `bump_version()` method, which is just an alias for "+= 1" on the version attribute. For a slim low-level API it seems okay to just directly access/modify the attribute. The extra level of abstraction of "bumping a version" is more appropriate for a repository library (see theupdateframework#1136). This patch also removes a related unit test and updates another one to directly do `(...).version +=`. Signed-off-by: Lukas Puehringer <[email protected]>
See updated issue description above for latest results... |
I would like to work on this issue, where should I start ? |
Reading the resources referenced above in the issue description and brainstorming designs seems like the way to start. But as @jku has mentioned on slack, this is likely a long term issue that is going to require experimentation and quite a bit of team work to solve. |
Another implementation we could look to for inspiration is Rugged, which implements repository and a key manager classes on top of the low-level metadata API. A key manager/keyring feels like a useful helper to provide. |
I've decided to just do a PR of this:
I have that 90% ready, will push the PR this week. Future steps would include:
I have no assumptions that the API would be final in this PR: as minimal as it is, new use cases seem to always bring new complications... So I suggest we
|
[Update 2/14/22]
[Original issue description]
Identify what functionality from existing repository_tool/repository_lib/roledb/keydb modules should exist in a TUF repository library on top of a metadata model as sketched in #1112.
Start with API functionality.
Coordinate with #1134.
The text was updated successfully, but these errors were encountered: