/
main.go
41 lines (35 loc) · 1.06 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main
import (
"fmt"
"log"
"net"
"os"
"github.com/eddielin0926/ha-network-service/grpcpb/storage"
"github.com/eddielin0926/ha-network-service/storage/models"
"github.com/eddielin0926/ha-network-service/storage/server"
"google.golang.org/grpc"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
dbuser := os.Getenv("DB_USERNAME")
dbpasswd := os.Getenv("DB_PASSWORD")
dbhost := os.Getenv("DB_ADDRESS")
dbport := os.Getenv("DB_PORT")
dbname := os.Getenv("DB_NAME")
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbuser, dbpasswd, dbhost, dbport, dbname)
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
log.Fatal("Fail to connect database")
}
db.AutoMigrate(&models.Record{})
port := os.Getenv("PORT")
lis, err := net.Listen("tcp", fmt.Sprintf("0.0.0.0:%v", port))
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
var opts []grpc.ServerOption
grpcServer := grpc.NewServer(opts...)
storage.RegisterStorageServer(grpcServer, server.NewStorageServer(db))
grpcServer.Serve(lis)
}