github.com/portworx/docker@v1.12.1/api/client/stack/cmd.go (about)

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