33 lines
871 B
Go
33 lines
871 B
Go
package config
|
|
|
|
import (
|
|
"flag"
|
|
)
|
|
|
|
type Flags struct {
|
|
MigrateDB bool
|
|
EnvDoc bool
|
|
ShowEnv bool
|
|
GenEnv string
|
|
EnvFile string
|
|
}
|
|
|
|
func SetupFlags() *Flags {
|
|
// Parse commandline args
|
|
migrateDB := flag.Bool("migrate", false, "Reset all the database tables with the updated models")
|
|
envDoc := flag.Bool("envdoc", false, "Print all environment variables and their documentation")
|
|
showEnv := flag.Bool("showenv", false, "Print all environment variable values and their documentation")
|
|
genEnv := flag.String("genenv", "", "Generate a .env file with all environment variables (specify filename)")
|
|
envfile := flag.String("envfile", ".env", "Specify a .env file to use for the configuration")
|
|
flag.Parse()
|
|
|
|
flags := &Flags{
|
|
MigrateDB: *migrateDB,
|
|
EnvDoc: *envDoc,
|
|
ShowEnv: *showEnv,
|
|
GenEnv: *genEnv,
|
|
EnvFile: *envfile,
|
|
}
|
|
return flags
|
|
}
|