From 01ea3a7da745094cbb1ccc460a18d7ae3f9c0d38 Mon Sep 17 00:00:00 2001 From: Alano Terblanche <18033717+Benehiko@users.noreply.github.com> Date: Wed, 20 Aug 2025 12:51:55 +0200 Subject: [PATCH] Unexport service commands This patch deprecates exported service commands and moves the implementation details to an unexported function. Commands that are affected include: - service.NewServiceCommand Signed-off-by: Alano Terblanche <18033717+Benehiko@users.noreply.github.com> (cherry picked from commit 88178eda32b1fd64b4b1ea0ea1c5a194d6cf6e17) Signed-off-by: Sebastiaan van Stijn --- cli/command/commands/commands.go | 1 + cli/command/service/cmd.go | 29 ++++++++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/cli/command/commands/commands.go b/cli/command/commands/commands.go index a7e41c66ec..7c3504c629 100644 --- a/cli/command/commands/commands.go +++ b/cli/command/commands/commands.go @@ -80,6 +80,7 @@ func AddCommands(cmd *cobra.Command, dockerCli command.Cli) { node.NewNodeCommand(dockerCli), //nolint:staticcheck // TODO: Remove when migration to cli/internal/commands.Register is complete. (see #6283) secret.NewSecretCommand(dockerCli), + //nolint:staticcheck // TODO: Remove when migration to cli/internal/commands.Register is complete. (see #6283) service.NewServiceCommand(dockerCli), stack.NewStackCommand(dockerCli), swarm.NewSwarmCommand(dockerCli), diff --git a/cli/command/service/cmd.go b/cli/command/service/cmd.go index 6b6626cc14..52713726a0 100644 --- a/cli/command/service/cmd.go +++ b/cli/command/service/cmd.go @@ -7,27 +7,34 @@ import ( ) // NewServiceCommand returns a cobra command for `service` subcommands -func NewServiceCommand(dockerCli command.Cli) *cobra.Command { +// +// Deprecated: Do not import commands directly. They will be removed in a future release. +func NewServiceCommand(dockerCLI command.Cli) *cobra.Command { + return newServiceCommand(dockerCLI) +} + +// newServiceCommand returns a cobra command for `service` subcommands +func newServiceCommand(dockerCLI command.Cli) *cobra.Command { cmd := &cobra.Command{ Use: "service", Short: "Manage Swarm services", Args: cli.NoArgs, - RunE: command.ShowHelp(dockerCli.Err()), + RunE: command.ShowHelp(dockerCLI.Err()), Annotations: map[string]string{ "version": "1.24", "swarm": "manager", }, } cmd.AddCommand( - newCreateCommand(dockerCli), - newInspectCommand(dockerCli), - newPsCommand(dockerCli), - newListCommand(dockerCli), - newRemoveCommand(dockerCli), - newScaleCommand(dockerCli), - newUpdateCommand(dockerCli), - newLogsCommand(dockerCli), - newRollbackCommand(dockerCli), + newCreateCommand(dockerCLI), + newInspectCommand(dockerCLI), + newPsCommand(dockerCLI), + newListCommand(dockerCLI), + newRemoveCommand(dockerCLI), + newScaleCommand(dockerCLI), + newUpdateCommand(dockerCLI), + newLogsCommand(dockerCLI), + newRollbackCommand(dockerCLI), ) return cmd }