func (n *notaryCommander) GetCommand() *cobra.Command { notaryCmd := cobra.Command{ Use: "notary", Short: "Notary allows the creation of trusted collections.", Long: "Notary allows the creation and management of collections of signed targets, allowing the signing and validation of arbitrary content.", SilenceUsage: true, // we don't want to print out usage for EVERY error SilenceErrors: true, // we do our own error reporting with fatalf Run: func(cmd *cobra.Command, args []string) { cmd.Usage() }, } notaryCmd.SetOutput(os.Stdout) notaryCmd.AddCommand(&cobra.Command{ Use: "version", Short: "Print the version number of notary", Long: `print the version number of notary`, Run: func(cmd *cobra.Command, args []string) { fmt.Printf("notary\n Version: %s\n Git commit: %s\n", version.NotaryVersion, version.GitCommit) }, }) notaryCmd.PersistentFlags().StringVarP( &n.trustDir, "trustDir", "d", "", "Directory where the trust data is persisted to") notaryCmd.PersistentFlags().StringVarP( &n.configFile, "configFile", "c", "", "Path to the configuration file to use") notaryCmd.PersistentFlags().BoolVarP(&n.verbose, "verbose", "v", false, "Verbose output") notaryCmd.PersistentFlags().BoolVarP(&n.debug, "debug", "D", false, "Debug output") notaryCmd.PersistentFlags().StringVarP(&n.remoteTrustServer, "server", "s", "", "Remote trust server location") notaryCmd.PersistentFlags().StringVar(&n.tlsCAFile, "tlscacert", "", "Trust certs signed only by this CA") notaryCmd.PersistentFlags().StringVar(&n.tlsCertFile, "tlscert", "", "Path to TLS certificate file") notaryCmd.PersistentFlags().StringVar(&n.tlsKeyFile, "tlskey", "", "Path to TLS key file") cmdKeyGenerator := &keyCommander{ configGetter: n.parseConfig, getRetriever: n.getRetriever, } cmdDelegationGenerator := &delegationCommander{ configGetter: n.parseConfig, retriever: n.getRetriever(), } cmdCertGenerator := &certCommander{ configGetter: n.parseConfig, retriever: n.getRetriever(), } cmdTufGenerator := &tufCommander{ configGetter: n.parseConfig, retriever: n.getRetriever(), } notaryCmd.AddCommand(cmdKeyGenerator.GetCommand()) notaryCmd.AddCommand(cmdDelegationGenerator.GetCommand()) notaryCmd.AddCommand(cmdCertGenerator.GetCommand()) cmdTufGenerator.AddToCommand(¬aryCmd) return ¬aryCmd }
// ShowHelp shows the command help. func (cli *DockerCli) ShowHelp(cmd *cobra.Command, args []string) error { cmd.SetOutput(cli.err) cmd.HelpFunc()(cmd, args) return nil }
func noOpCmd() *cobra.Command { var c cobra.Command c.SetOutput(ioutil.Discard) return &c }