package main import ( "flag" "log" "os" "photodisk/internal/api" "photodisk/internal/config" db "photodisk/internal/db/sqlite" ) var Flags struct { Help bool ConfigPath string } func flags(path string) { fs := flag.NewFlagSet(os.Args[0], flag.ContinueOnError) fs.BoolVar(&Flags.Help, "h", false, "Help message") fs.StringVar(&Flags.ConfigPath, "path", path, "Path to config file") fs.Parse(os.Args[1:]) if Flags.Help { fs.PrintDefaults() os.Exit(0) } } func main() { // read config filename from flags flags("config.yaml") if err := config.ReadConfig(Flags.ConfigPath); err != nil { log.Fatal(err) } if _, err := db.OpenDb(config.Get().Db); err != nil { log.Fatal(err) } defer db.CloseDb() db.InitTables() if err := api.Start(":8080"); err != nil { log.Fatal(err) } }