Newer
Older
// Code generated by go-swagger/go-orusapi; DO NOT EDIT.
{{ if .Copyright -}}// {{ comment .Copyright -}}{{ end }}
{{- $noDB := not (not (index .Info.Extensions "x-go-orusapi-no-db") ) }}
package cmd
import (
"github.com/orus-io/go-flags"

Christophe de Vienne
committed
var (
Version = restapi.GetVersion()

Christophe de Vienne
committed
)
type ConfigFile struct {
ConfigFile string `long:"config" short:"c" env:"CONFIG" no-ini:"t" description:"A configuration file"`
}

Christophe de Vienne
committed
type Info struct {
Environment string `long:"environment" env:"ENVIRONMENT" ini-name:"environment" default:"default" description:"A environment name, used in sentry and prometheus"`
CustomInfo

Christophe de Vienne
committed
}
var (
Logger = orusapi.DefaultLogger(os.Stdout)
LoggingOptions = orusapi.MustLoggingOptions(orusapi.NewLoggingOptions(&Logger, os.Stdout))

Christophe de Vienne
committed
InfoOptions = &Info{}
SentryOptions = orusapi.NewSentryOptions(LoggingOptions)
parser = flags.NewNamedParser("{{ dasherize (pascalize .Name) }}", flags.HelpFlag|flags.PassDoubleDash)
bootstrapParser = flags.NewNamedParser("{{ dasherize (pascalize .Name) }}", flags.IgnoreUnknown)
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 {
}
return code
}
return 0
}
func init() {
parser.NamespaceDelimiter = "-"
parser.EnvNamespaceDelimiter = "_"
parser.EnvNamespace = "{{ upper .Name }}"
if _, err := parser.AddGroup("Configuration", "Configuration file", ConfigFileOption); err != nil {
panic(err)
}

Christophe de Vienne
committed
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 = "{{ upper .Name }}"
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"