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