cmd.go 950 B

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