Skip to content
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

cli/command: remove NotaryClient from CLI interface #5876

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

thaJeztah
Copy link
Member

@thaJeztah thaJeztah commented Mar 1, 2025

cli/command: remove deprecated NotaryClient from CLI interface

This method is a shallow wrapper around trust.GetNotaryRepository, but
due to its signature resulted in the trust package, and notary dependencies
to become a dependency of the CLI. Consequence of this was that cli-plugins,
which need the cli/command package, would also get notary and its
dependencies as a dependency. It is no longer used, and was deprecated
in 9bc16bb.

This patch removes the NotaryClient method from the interface

cli/command: remove deprecated ManifestStore from CLI interface

This method is a shallow wrapper around manifeststore.NewStore, but
due to its signature resulted in various dependencies becoming a dependency
of the "command" package. Consequence of this was that cli-plugins, which
need the cli/command package, would also get those dependencies. It is no
longer used, and was deprecated in e32d5d5.

This patch removes the ManifestStore method from the interface

cli/command: remove deprecated RegistryClient from CLI interface

This method was a shallow wrapper around registryclient.NewRegistryClient but
due to its signature resulted in various dependencies becoming a dependency
of the "command" package. Consequence of this was that cli-plugins, which
need the cli/command package, would also get those dependencies. It is no
longer used, and was deprecated in 8ad0721.

This patch removes the RegistryClient method from the interface

- Human readable description for the release notes

- A picture of a cute animal (not mandatory but encouraged)

@thaJeztah thaJeztah added status/2-code-review area/trust kind/refactor PR's that refactor, or clean-up code labels Mar 1, 2025
@codecov-commenter
Copy link

codecov-commenter commented Mar 1, 2025

Codecov Report

Attention: Patch coverage is 18.18182% with 72 lines in your changes missing coverage. Please review.

Project coverage is 59.28%. Comparing base (ea1f10b) to head (d69949f).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5876      +/-   ##
==========================================
- Coverage   59.29%   59.28%   -0.02%     
==========================================
  Files         355      354       -1     
  Lines       29753    29775      +22     
==========================================
+ Hits        17641    17651      +10     
- Misses      11140    11151      +11     
- Partials      972      973       +1     

thaJeztah added a commit to thaJeztah/buildx that referenced this pull request Mar 1, 2025
Testing docker/cli#5876 to remove notary
dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
thaJeztah added a commit to thaJeztah/buildx that referenced this pull request Mar 1, 2025
Testing docker/cli#5876 to remove notary
dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
thaJeztah added a commit to thaJeztah/buildx that referenced this pull request Mar 1, 2025
Testing docker/cli#5876 to remove notary
dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
thaJeztah added a commit to thaJeztah/buildx that referenced this pull request Mar 1, 2025
Testing docker/cli#5876 to remove notary
dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah thaJeztah force-pushed the less_notary branch 3 times, most recently from 0939e55 to 331753a Compare March 2, 2025 13:20
thaJeztah added a commit to thaJeztah/buildx that referenced this pull request Mar 2, 2025
Testing docker/cli#5876 to remove notary
dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah thaJeztah force-pushed the less_notary branch 3 times, most recently from e017b03 to 749bea0 Compare March 3, 2025 11:51
thaJeztah added a commit to thaJeztah/buildx that referenced this pull request Mar 3, 2025
Testing docker/cli#5876 to remove notary
dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
This method is a shallow wrapper around trust.GetNotaryRepository, but
due to its signature resulted in the trust package, and notary dependencies
to become a dependency of the CLI. Consequence of this was that cli-plugins,
which need the cli/command package, would also get notary and its
dependencies as a dependency. It is no longer used, and was deprecated
in 9bc16bb.

This patch removes the NotaryClient method from the interface

Signed-off-by: Sebastiaan van Stijn <[email protected]>
This method is a shallow wrapper around manifeststore.NewStore, but
due to its signature resulted in various dependencies becoming a dependency
of the "command" package. Consequence of this was that cli-plugins, which
need the cli/command package, would also get those dependencies. It is no
longer used, and was deprecated in e32d5d5.

This patch removes the ManifestStore method from the interface

Signed-off-by: Sebastiaan van Stijn <[email protected]>
This method was a shallow wrapper around registryclient.NewRegistryClient but
due to its signature resulted in various dependencies becoming a dependency
of the "command" package. Consequence of this was that cli-plugins, which
need the cli/command package, would also get those dependencies. It is no
longer used, and was deprecated in 8ad0721.

This patch removes the RegistryClient method from the interface

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
thaJeztah added a commit to thaJeztah/buildx that referenced this pull request Mar 4, 2025
Testing docker/cli#5876 to remove notary
dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Comment on lines 51 to 50
hooks.PrintNextSteps(dockerCli.Err(), nextSteps)
hooks.PrintNextSteps(rootCmd.ErrOrStderr(), nextSteps)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a difference; before this, we would take the Err() output from the CLI, and now we switched to the Cobra cmd's StdErr() - we should look in our code altogether to consider using that (instead of depending on the DockerCLI to provide us the stderr/stdout; I think they're coupled either way.

The manager only requires the CLI's configuration; define a
shallow interface for this so that we don't have to import
cli/command.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
This prevents cli-plugins having to import the plugin-manager.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/trust kind/refactor PR's that refactor, or clean-up code status/2-code-review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants