Merge pull request #5975 from thaJeztah/internalize_image_runsave

cli/command/image: deprecate RunPull and make internal
This commit is contained in:
Sebastiaan van Stijn 2025-04-01 15:14:17 +02:00 committed by GitHub
commit 1c54b0ba66
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 20 additions and 12 deletions

View File

@ -15,7 +15,10 @@ import (
) )
// PullOptions defines what and how to pull // PullOptions defines what and how to pull
type PullOptions struct { type PullOptions = pullOptions
// pullOptions defines what and how to pull.
type pullOptions struct {
remote string remote string
all bool all bool
platform string platform string
@ -25,7 +28,7 @@ type PullOptions struct {
// NewPullCommand creates a new `docker pull` command // NewPullCommand creates a new `docker pull` command
func NewPullCommand(dockerCli command.Cli) *cobra.Command { func NewPullCommand(dockerCli command.Cli) *cobra.Command {
var opts PullOptions var opts pullOptions
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "pull [OPTIONS] NAME[:TAG|@DIGEST]", Use: "pull [OPTIONS] NAME[:TAG|@DIGEST]",
@ -33,7 +36,7 @@ func NewPullCommand(dockerCli command.Cli) *cobra.Command {
Args: cli.ExactArgs(1), Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
opts.remote = args[0] opts.remote = args[0]
return RunPull(cmd.Context(), dockerCli, opts) return runPull(cmd.Context(), dockerCli, opts)
}, },
Annotations: map[string]string{ Annotations: map[string]string{
"category-top": "5", "category-top": "5",
@ -57,6 +60,11 @@ func NewPullCommand(dockerCli command.Cli) *cobra.Command {
// RunPull performs a pull against the engine based on the specified options // RunPull performs a pull against the engine based on the specified options
func RunPull(ctx context.Context, dockerCLI command.Cli, opts PullOptions) error { func RunPull(ctx context.Context, dockerCLI command.Cli, opts PullOptions) error {
return runPull(ctx, dockerCLI, opts)
}
// runPull performs a pull against the engine based on the specified options
func runPull(ctx context.Context, dockerCLI command.Cli, opts pullOptions) error {
distributionRef, err := reference.ParseNormalizedNamed(opts.remote) distributionRef, err := reference.ParseNormalizedNamed(opts.remote)
switch { switch {
case err != nil: case err != nil:

View File

@ -45,7 +45,7 @@ func NewPushCommand(dockerCli command.Cli) *cobra.Command {
Args: cli.ExactArgs(1), Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
opts.remote = args[0] opts.remote = args[0]
return RunPush(cmd.Context(), dockerCli, opts) return runPush(cmd.Context(), dockerCli, opts)
}, },
Annotations: map[string]string{ Annotations: map[string]string{
"category-top": "6", "category-top": "6",
@ -73,8 +73,8 @@ Image index won't be pushed, meaning that other manifests, including attestation
return cmd return cmd
} }
// RunPush performs a push against the engine based on the specified options // runPush performs a push against the engine based on the specified options.
func RunPush(ctx context.Context, dockerCli command.Cli, opts pushOptions) error { func runPush(ctx context.Context, dockerCli command.Cli, opts pushOptions) error {
var platform *ocispec.Platform var platform *ocispec.Platform
out := tui.NewOutput(dockerCli.Out()) out := tui.NewOutput(dockerCli.Out())
if opts.platform != "" { if opts.platform != "" {

View File

@ -29,7 +29,7 @@ func NewSaveCommand(dockerCli command.Cli) *cobra.Command {
Args: cli.RequiresMinArgs(1), Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, args []string) error {
opts.images = args opts.images = args
return RunSave(cmd.Context(), dockerCli, opts) return runSave(cmd.Context(), dockerCli, opts)
}, },
Annotations: map[string]string{ Annotations: map[string]string{
"aliases": "docker image save, docker save", "aliases": "docker image save, docker save",
@ -47,8 +47,8 @@ func NewSaveCommand(dockerCli command.Cli) *cobra.Command {
return cmd return cmd
} }
// RunSave performs a save against the engine based on the specified options // runSave performs a save against the engine based on the specified options
func RunSave(ctx context.Context, dockerCli command.Cli, opts saveOptions) error { func runSave(ctx context.Context, dockerCli command.Cli, opts saveOptions) error {
if opts.output == "" && dockerCli.Out().IsTerminal() { if opts.output == "" && dockerCli.Out().IsTerminal() {
return errors.New("cowardly refusing to save to a terminal. Use the -o flag or redirect") return errors.New("cowardly refusing to save to a terminal. Use the -o flag or redirect")
} }

View File

@ -47,7 +47,7 @@ func pushTrustedReference(ctx context.Context, ioStreams command.Streams, repoIn
} }
// trustedPull handles content trust pulling of an image // trustedPull handles content trust pulling of an image
func trustedPull(ctx context.Context, cli command.Cli, imgRefAndAuth trust.ImageRefAndAuth, opts PullOptions) error { func trustedPull(ctx context.Context, cli command.Cli, imgRefAndAuth trust.ImageRefAndAuth, opts pullOptions) error {
refs, err := getTrustedPullTargets(cli, imgRefAndAuth) refs, err := getTrustedPullTargets(cli, imgRefAndAuth)
if err != nil { if err != nil {
return err return err
@ -69,7 +69,7 @@ func trustedPull(ctx context.Context, cli command.Cli, imgRefAndAuth trust.Image
if err != nil { if err != nil {
return err return err
} }
if err := imagePullPrivileged(ctx, cli, updatedImgRefAndAuth, PullOptions{ if err := imagePullPrivileged(ctx, cli, updatedImgRefAndAuth, pullOptions{
all: false, all: false,
platform: opts.platform, platform: opts.platform,
quiet: opts.quiet, quiet: opts.quiet,
@ -144,7 +144,7 @@ func getTrustedPullTargets(cli command.Cli, imgRefAndAuth trust.ImageRefAndAuth)
} }
// imagePullPrivileged pulls the image and displays it to the output // imagePullPrivileged pulls the image and displays it to the output
func imagePullPrivileged(ctx context.Context, cli command.Cli, imgRefAndAuth trust.ImageRefAndAuth, opts PullOptions) error { func imagePullPrivileged(ctx context.Context, cli command.Cli, imgRefAndAuth trust.ImageRefAndAuth, opts pullOptions) error {
encodedAuth, err := registrytypes.EncodeAuthConfig(*imgRefAndAuth.AuthConfig()) encodedAuth, err := registrytypes.EncodeAuthConfig(*imgRefAndAuth.AuthConfig())
if err != nil { if err != nil {
return err return err