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