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 }