// Code generated by go-swagger/go-orusapi; DO NOT EDIT. package cmd import ( "github.com/orus-io/go-flags" "orus.io/orus-io/go-orusapi" "orus.io/orus-io/go-orusapi/database" ) var ( Version string ) type ConfigFile struct { ConfigFile string `long:"config" short:"c" env:"CONFIG" no-ini:"t" description:"A configuration file"` } type Info struct { Environment string `long:"environment" env:"ENVIRONMENT" ini-name:"environment" default:"default" description:"A environment name, used in sentry and prometheus"` } var ( Logger = orusapi.DefaultLogger(os.Stdout) LoggingOptions = orusapi.MustLoggingOptions(orusapi.NewLoggingOptions(&Logger, os.Stdout)) DatabaseOptions = &database.Options{} ConfigFileOption = &ConfigFile{} InfoOptions = &Info{} SentryOptions = orusapi.NewSentryOptions(LoggingOptions) parser = flags.NewNamedParser("{{ dasherize (pascalize .Name) }}", flags.HelpFlag|flags.PassDoubleDash) bootstrapParser = flags.NewNamedParser("{{ dasherize (pascalize .Name) }}", flags.IgnoreUnknown) ) func Run() int { if _, err := bootstrapParser.Parse(); err != nil { Logger.Err(err).Msg("") return 1 } if ConfigFileOption.ConfigFile != "" { Logger.Debug().Str("configfile", ConfigFileOption.ConfigFile).Msg("parsing configuration file") iniParser := flags.NewIniParser(parser) if err := iniParser.ParseFile(ConfigFileOption.ConfigFile); err != nil { Logger.Err(err).Msg("") return 1 } } if _, err := parser.Parse(); err != nil { code := 1 if fe, ok := err.(*flags.Error); ok { if fe.Type == flags.ErrHelp { code = 0 // this error actually contains a help message for the user // so we print it on the console fmt.Println(err) } else { Logger.Error().Msg(err.Error()) } } else { Logger.Err(err).Msg("") } return code } return 0 } func init() { parser.NamespaceDelimiter = "-" parser.EnvNamespaceDelimiter = "_" parser.EnvNamespace = "CARNET" if _, err := parser.AddGroup("Configuration", "Configuration file", ConfigFileOption); err != nil { panic(err) } g, err := parser.AddGroup("Info", "Info options", InfoOptions) if err != nil { panic(err) } g, err = parser.AddGroup("Logging", "Logging options", LoggingOptions) if err != nil { panic(err) } g.Namespace="log" g.EnvNamespace="LOG" g, err = parser.AddGroup("Database", "Database options", DatabaseOptions) if err != nil { panic(err) } g.Namespace="db" g.EnvNamespace="DB" g, err = parser.AddGroup("Sentry", "Sentry options", SentryOptions) if err != nil { panic(err) } g.Namespace="sentry" g.EnvNamespace="SENTRY" if _, err := parser.AddCommand("generate-config", "Generate a configuration file", "", orusapi.NewGenerateConfigCmd(parser)); err != nil { panic(err) } bootstrapParser.NamespaceDelimiter = "-" bootstrapParser.EnvNamespaceDelimiter = "_" bootstrapParser.EnvNamespace = "CARNET" if _, err := bootstrapParser.AddGroup("Configuration", "Configuration file", ConfigFileOption); err != nil { panic(err) } g, err = bootstrapParser.AddGroup("Logging", "Logging options", LoggingOptions) if err != nil { panic(err) } g.Namespace="log" g.EnvNamespace="LOG" }