package cmd import ( "fmt" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" "os" ) var ( verbosity string rootCmd = &cobra.Command{ Use: "docker-multi-arch-builder", Short: "dmab is an oci multi architecture builder", Long: `docker multi architecture builder is a go program use to build docker manifest with list of layer. Each layer point to docker image with annotated os, arch and variant information`, } ) // init logging parameter func init() { rootCmd.AddCommand(buildCmd) rootCmd.PersistentFlags().StringVarP(&verbosity, "verbosity", "v", log.InfoLevel.String(), "Log level (debug, info, warn, error, fatal, panic") rootCmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error { if lvl, err := log.ParseLevel(verbosity); err != nil { return err } else { log.SetLevel(lvl) return nil } } } func Execute() { if err := rootCmd.Execute(); err != nil { _, _ = fmt.Fprintln(os.Stderr, err) os.Exit(1) } }