github.com/flavio/docker@v0.1.3-0.20170117145210-f63d1a6eec47/cli/command/commands/commands.go (about)

     1  package commands
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/docker/docker/cli/command"
     7  	"github.com/docker/docker/cli/command/checkpoint"
     8  	"github.com/docker/docker/cli/command/container"
     9  	"github.com/docker/docker/cli/command/image"
    10  	"github.com/docker/docker/cli/command/network"
    11  	"github.com/docker/docker/cli/command/node"
    12  	"github.com/docker/docker/cli/command/plugin"
    13  	"github.com/docker/docker/cli/command/registry"
    14  	"github.com/docker/docker/cli/command/secret"
    15  	"github.com/docker/docker/cli/command/service"
    16  	"github.com/docker/docker/cli/command/stack"
    17  	"github.com/docker/docker/cli/command/swarm"
    18  	"github.com/docker/docker/cli/command/system"
    19  	"github.com/docker/docker/cli/command/volume"
    20  	"github.com/spf13/cobra"
    21  )
    22  
    23  // AddCommands adds all the commands from cli/command to the root command
    24  func AddCommands(cmd *cobra.Command, dockerCli *command.DockerCli) {
    25  	cmd.AddCommand(
    26  		// checkpoint
    27  		checkpoint.NewCheckpointCommand(dockerCli),
    28  
    29  		// container
    30  		container.NewContainerCommand(dockerCli),
    31  		container.NewRunCommand(dockerCli),
    32  
    33  		// image
    34  		image.NewImageCommand(dockerCli),
    35  		image.NewBuildCommand(dockerCli),
    36  
    37  		// node
    38  		node.NewNodeCommand(dockerCli),
    39  
    40  		// network
    41  		network.NewNetworkCommand(dockerCli),
    42  
    43  		// plugin
    44  		plugin.NewPluginCommand(dockerCli),
    45  
    46  		// registry
    47  		registry.NewLoginCommand(dockerCli),
    48  		registry.NewLogoutCommand(dockerCli),
    49  		registry.NewSearchCommand(dockerCli),
    50  
    51  		// secret
    52  		secret.NewSecretCommand(dockerCli),
    53  
    54  		// service
    55  		service.NewServiceCommand(dockerCli),
    56  
    57  		// system
    58  		system.NewSystemCommand(dockerCli),
    59  		system.NewVersionCommand(dockerCli),
    60  
    61  		// stack
    62  		stack.NewStackCommand(dockerCli),
    63  		stack.NewTopLevelDeployCommand(dockerCli),
    64  
    65  		// swarm
    66  		swarm.NewSwarmCommand(dockerCli),
    67  
    68  		// volume
    69  		volume.NewVolumeCommand(dockerCli),
    70  
    71  		// legacy commands may be hidden
    72  		hide(system.NewEventsCommand(dockerCli)),
    73  		hide(system.NewInfoCommand(dockerCli)),
    74  		hide(system.NewInspectCommand(dockerCli)),
    75  		hide(container.NewAttachCommand(dockerCli)),
    76  		hide(container.NewCommitCommand(dockerCli)),
    77  		hide(container.NewCopyCommand(dockerCli)),
    78  		hide(container.NewCreateCommand(dockerCli)),
    79  		hide(container.NewDiffCommand(dockerCli)),
    80  		hide(container.NewExecCommand(dockerCli)),
    81  		hide(container.NewExportCommand(dockerCli)),
    82  		hide(container.NewKillCommand(dockerCli)),
    83  		hide(container.NewLogsCommand(dockerCli)),
    84  		hide(container.NewPauseCommand(dockerCli)),
    85  		hide(container.NewPortCommand(dockerCli)),
    86  		hide(container.NewPsCommand(dockerCli)),
    87  		hide(container.NewRenameCommand(dockerCli)),
    88  		hide(container.NewRestartCommand(dockerCli)),
    89  		hide(container.NewRmCommand(dockerCli)),
    90  		hide(container.NewStartCommand(dockerCli)),
    91  		hide(container.NewStatsCommand(dockerCli)),
    92  		hide(container.NewStopCommand(dockerCli)),
    93  		hide(container.NewTopCommand(dockerCli)),
    94  		hide(container.NewUnpauseCommand(dockerCli)),
    95  		hide(container.NewUpdateCommand(dockerCli)),
    96  		hide(container.NewWaitCommand(dockerCli)),
    97  		hide(image.NewHistoryCommand(dockerCli)),
    98  		hide(image.NewImagesCommand(dockerCli)),
    99  		hide(image.NewImportCommand(dockerCli)),
   100  		hide(image.NewLoadCommand(dockerCli)),
   101  		hide(image.NewPullCommand(dockerCli)),
   102  		hide(image.NewPushCommand(dockerCli)),
   103  		hide(image.NewRemoveCommand(dockerCli)),
   104  		hide(image.NewSaveCommand(dockerCli)),
   105  		hide(image.NewTagCommand(dockerCli)),
   106  	)
   107  
   108  }
   109  
   110  func hide(cmd *cobra.Command) *cobra.Command {
   111  	// If the environment variable with name "DOCKER_HIDE_LEGACY_COMMANDS" is not empty,
   112  	// these legacy commands (such as `docker ps`, `docker exec`, etc)
   113  	// will not be shown in output console.
   114  	if os.Getenv("DOCKER_HIDE_LEGACY_COMMANDS") == "" {
   115  		return cmd
   116  	}
   117  	cmdCopy := *cmd
   118  	cmdCopy.Hidden = true
   119  	cmdCopy.Aliases = []string{}
   120  	return &cmdCopy
   121  }