package config import ( "flag" ) type Flags struct { ResetDB bool EnvDoc bool ShowEnv bool GenEnv string EnvFile string } func SetupFlags() *Flags { // Parse commandline args resetDB := flag.Bool("resetdb", 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{ ResetDB: *resetDB, EnvDoc: *envDoc, ShowEnv: *showEnv, GenEnv: *genEnv, EnvFile: *envfile, } return flags }