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  }