github.com/lovung/GoCleanArchitecture@v0.0.0-20210302152432-50d91fd29f9f/cmd/services/core/main.go (about) 1 package main 2 3 import ( 4 "log" 5 "os" 6 7 "github.com/urfave/cli/v2" 8 ) 9 10 func main() { 11 flags := []cli.Flag{ 12 EnvFlag, 13 AppNameFlag, 14 AppVersionFlag, 15 MYSQLConnFlag, 16 MYSQLHostFlag, 17 MySQLPortFlag, 18 MySQLUserFlag, 19 MySQLPasswordFlag, 20 MySQLDatabaseFlag, 21 MySQLMaxOpenConnsFlag, 22 MySQLMaxIdleConnsFlag, 23 MySQLConnMaxLifetimeFlag, 24 HTTPPortFlag, 25 HTTPTimeoutFlag, 26 LogLevelFlag, 27 JWTSecretFlag, 28 EnabledProfilingFlag, 29 } 30 31 app := &cli.App{ 32 Name: "github.com/lovung/GoCleanArchitecture core Service", 33 Flags: flags, 34 Action: func(ctx *cli.Context) error { 35 srv := newService(ctx) 36 37 if err := srv.start(); err != nil { 38 return err 39 } 40 41 return nil 42 }, 43 } 44 45 err := app.Run(os.Args) 46 if err != nil { 47 log.Fatal(err) 48 } 49 }