cmd.go 1000 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package stack
  2. import (
  3. "fmt"
  4. "github.com/docker/docker/cli"
  5. "github.com/docker/docker/cli/command"
  6. "github.com/spf13/cobra"
  7. )
  8. // NewStackCommand returns a cobra command for `stack` subcommands
  9. func NewStackCommand(dockerCli *command.DockerCli) *cobra.Command {
  10. cmd := &cobra.Command{
  11. Use: "stack",
  12. Short: "Manage Docker stacks",
  13. Args: cli.NoArgs,
  14. Run: func(cmd *cobra.Command, args []string) {
  15. fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
  16. },
  17. Tags: map[string]string{"experimental": ""},
  18. }
  19. cmd.AddCommand(
  20. newConfigCommand(dockerCli),
  21. newDeployCommand(dockerCli),
  22. newListCommand(dockerCli),
  23. newRemoveCommand(dockerCli),
  24. newServicesCommand(dockerCli),
  25. newPsCommand(dockerCli),
  26. )
  27. return cmd
  28. }
  29. // NewTopLevelDeployCommand returns a command for `docker deploy`
  30. func NewTopLevelDeployCommand(dockerCli *command.DockerCli) *cobra.Command {
  31. cmd := newDeployCommand(dockerCli)
  32. // Remove the aliases at the top level
  33. cmd.Aliases = []string{}
  34. return cmd
  35. }