pcm-coordinator/adaptor/pcm_pod/main.go

59 lines
1.6 KiB
Go

package main
import (
"code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_pod/gen/idl"
podserver "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_pod/server"
"code.gitlink.org.cn/JCCE/PCM.git/common/config"
"code.gitlink.org.cn/JCCE/PCM.git/common/global"
"code.gitlink.org.cn/JCCE/PCM.git/common/server"
"code.gitlink.org.cn/JCCE/PCM.git/common/tenanter"
"flag"
"github.com/golang/glog"
"github.com/pkg/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
"log"
)
func main() {
var configFile string
flag.StringVar(&configFile, "conf", "configs/tenanter.yaml", "tenanter.yaml")
flag.Parse()
defer glog.Flush()
if err := tenanter.LoadCloudConfigsFromFile(configFile); err != nil {
if !errors.Is(err, tenanter.ErrLoadTenanterFileEmpty) {
glog.Fatalf("LoadCloudConfigsFromFile error %+v", err)
}
glog.Warningf("LoadCloudConfigsFromFile empty file path %s", configFile)
}
glog.Infof("load tenant from file finished")
// 初始化配置以及数据库
config.InitConfig()
// 新建一个zap logger实例
logger, err := zap.NewDevelopment()
if err != nil {
log.Fatalf("cannot create logger: %v", err)
}
if err != nil {
logger.Fatal("cannot open private key", zap.Error(err))
}
if err != nil {
logger.Fatal("cannot read private key", zap.Error(err))
}
if err != nil {
logger.Fatal("cannot parse private key", zap.Error(err))
}
// logger.Sugar().Fatal 直接可以少几行判错的代码
logger.Sugar().Fatal(server.RunGRPCServer(&server.GRPCConfig{
Name: "pcm_pod",
Addr: global.S.PodInfo.Address,
RegisterFunc: func(g *grpc.Server) {
podpb.RegisterPodServiceServer(g, &podserver.Server{})
},
Logger: logger,
}))
}