Skip to content

Roadmap for cli tools: repo.py, client.py #881

Closed

Description

@lukpueh

Description of issue or feature request:
Recently, several issues and some fixes related to the TUF command line tools repo.py and script.py have been brought forward: #873, #874, #876, #877, #878, #879, #880 and "Some comments on TUF..." on the mailinglist. These include concerns about the script names, unexpected behavior, missing TUF features, etc.

@awwad has pointed out that repo.py and client.py are mostly tutorial tools, useful to get familiar with TUF (see QUICKSTART.md). Whereas an actual TUF integration will require direct use of the underlying libraries tuf.repository_tool and tuf.client.updater.

Given the recent GitHub and mailing list activity around these tool, we need to either clarify that these tools are purely for educational purpose, or develop them more actively so that they can actually used by an integrator.

Thanks, @cminyard and @lixuefeng2 for bringing this to our attention!

Current behavior:
The use of and plans for repo.py and client.py are unclear.

Expected behavior:
Decide to what extent repo.py and client.py should be enhanced, maintained, etc.

Activity

  1. trishankatdatadog commented on May 28, 2019

    @trishankatdatadog
    Contributor

    I think we should just remove these old document and code altogether. I think it confuses people more than it does help them. What do others think?

  2. cminyard commented on May 28, 2019

    @cminyard
  3. trishankatdatadog commented on May 28, 2019

    @trishankatdatadog
    Contributor

    @cminyard I don't disagree with you, but I think as a compromise we could move this code and documentation elsewhere. Does that sound agreeable to you?

  4. cminyard commented on May 28, 2019

    @cminyard
  5. lukpueh commented on May 29, 2019

    @lukpueh
    MemberAuthor

    Thanks for chiming in, @trishankatdatadog and @cminyard! Here are my 2 cents.

    IMHO, the higher level of API abstraction should be split out of the repo code, cleaned up, and extended. Then a repo tool that is thought through well should be created on top of it in a way that it can be extended by others.

    yes! Let's try to identify what parts, currently in repo.py/client.py (or missing from it), should be in repository_lib or repository_tool, and client.updater respectively, e.g. "add this set of files to the repository as this role", etc. (see #878 (review) for related observations).

    ...could move this code and documentation elsewhere

    yes. The cli script(s) could live in a separate repo, e.g. tuf-cli, along with related documentation. Ideally, all they do is parsing arguments and call into the corresponding library functions (similar to what we do in in-toto/in-toto#in_toto_run.py). I am also happy to reconsider using an alternative to argparse. @trishankatdatadog, you seemed very fond of click?

  6. trishankatdatadog commented on May 29, 2019

    @trishankatdatadog
    Contributor

    @lukpueh click is awesomeness

  7. lukpueh commented on Sep 17, 2019

    @lukpueh
    MemberAuthor

    Consider re-visiting related stale PRs, when addressing this issue:

    Same goes for CLI-related issues:

  8. lukpueh commented on Mar 13, 2020

    @lukpueh
    MemberAuthor

    @Silvanoc kindly provided the following bug reports related to repo.py:

  9. added this to the milestone on Jul 7, 2020
  10. lukpueh commented on Aug 21, 2020

    @lukpueh
    MemberAuthor

    More issues with the the cli tools, kindly reported by @Jakeler:

  11. lukpueh commented on Aug 21, 2020

    @lukpueh
    MemberAuthor

    Maybe we should add a disclaimer to the cli tool docs that references this collection of issues. And maybe we should create an issue label instead of listing the issues here. :)

  12. Jakeler commented on Aug 21, 2020

    @Jakeler

    Let's try to identify what parts, currently in repo.py/client.py (or missing from it), should be in repository_lib or repository_tool, and client.updater respectively, e.g. "add this set of files to the repository as this role", etc. (see #878 (review) for related observations).

    How is the current state, has someone already looked at this?
    Is there anything missing that blocks making repo.py/tuf-cli just a cmdline abstraction around repository_tool?

  13. 1 remaining item

  14. removed this from the milestone on Sep 8, 2020
  15. added
    clientRelated to the client (updater) implementation
    discussionDiscussions related to the design, implementation and operation of the project
    repositoryRelated to the repository implementation
    on Sep 10, 2020
  16. added a commit that references this issue on Jan 25, 2022
  17. lukpueh commented on Feb 23, 2022

    @lukpueh
    MemberAuthor

    Since the release of v1.0.0, python-tuf no longer provides repo.py and client.py cli tools.

    • Development of tutorial/quick-start -like CLI tools tracked in #1797 (alternatives are already available)
    • Development of production-use CLI tools (repository-side) tracked in #1136
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    clientRelated to the client (updater) implementationdiscussionDiscussions related to the design, implementation and operation of the projectrepositoryRelated to the repository implementation

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions