12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package main
- import (
- "assetcenter/api"
- "assetcenter/bus"
- "assetcenter/conf"
- "assetcenter/db"
- "assetcenter/log"
- "flag"
- "fmt"
- "time"
- "go.uber.org/dig"
- "infish.cn/comm"
- )
- var confFile = flag.String("conf", "./app.yaml", "conf file")
- var appPort = flag.Int("port", 0, "conf app port")
- var appNatsUrl = flag.String("nats", "", "conf nats url")
- var saverHost = flag.String("minio", "", "conf minio host url")
- func BuildApp() *dig.Container {
- app := dig.New()
- _ = app.Provide(func() (*conf.AppConf, error) {
- ret, err := conf.NewAppConf(*confFile)
- if len(*appNatsUrl) > 0 {
- ret.Nats.Url = *appNatsUrl
- }
- if *appPort > 0 {
- ret.Port = int32(*appPort)
- }
- if len(*saverHost) > 0 {
- ret.Minio.Endpoint = *saverHost
- }
- ret.TrimLocalUrl = "//" + ret.Minio.Endpoint + "/"
- return ret, err
- })
- _ = app.Provide(db.NewMongoDB)
- _ = app.Provide(db.NewRedisClient)
- _ = app.Provide(bus.NewNatsBus)
- // _ = app.Provide(func(app *conf.AppConf) (*etcd.Cli, error) {
- // return etcd.NewEtcdCli(&etcd.CliConfig{
- // Endpoints: app.Etcd.Endpoints,
- // UserName: app.Etcd.UserName,
- // Password: app.Etcd.Password,
- // DialTimeout: time.Second * time.Duration(app.Etcd.DialTimeout),
- // })
- // })
- // repository
- //_ = app.Provide(repository.NewExecuteSnapshotRepository)
- // _ = app.Provide(bus.NewEventBus)
- // _ = app.Provide(collector.NewPinkCollector)
- // _ = app.Provide(executor.NewPinkGroupManaged)
- // _ = app.Provide(executor.NewPinkExecutor)
- // _ = app.Provide(schedule.NewPinkScheduler)
- // _ = app.Provide(node.NewPinkNode)
- // _ = app.Provide(handler.NewPinkWebHandler)
- _ = app.Provide(api.NewHttpService)
- return app
- }
- func main() {
- flag.Parse()
- app := BuildApp()
- err := app.Invoke(func(svc *api.Service, config *conf.AppConf, bus *comm.NatsBus) error {
- go bus.Run(nil)
- go func() {
- time.Sleep(time.Second)
- fmt.Println("assetcenter started")
- }()
- svc.Run()
- return nil
- })
- if err != nil {
- log.Errorf("the pink service start fail %+v", err)
- panic(err)
- }
- }
|