Files
query-orchestration/cmd/grpc/main.go
T

51 lines
1.2 KiB
Go
Raw Normal View History

2024-12-18 18:54:48 +00:00
package main
import (
"context"
"gotemplate/api/grpc/controllers"
"gotemplate/api/grpc/spec"
2024-12-23 16:01:54 +00:00
"gotemplate/internal/collector"
2024-12-18 18:54:48 +00:00
"gotemplate/internal/database"
"gotemplate/internal/database/repository"
2024-12-23 16:01:54 +00:00
"gotemplate/internal/export"
2024-12-18 18:54:48 +00:00
"gotemplate/internal/otel"
2024-12-23 16:01:54 +00:00
"gotemplate/internal/query"
2024-12-18 18:54:48 +00:00
"log"
"net"
"strconv"
_ "github.com/lib/pq"
"google.golang.org/grpc"
)
func main() {
ctx := context.Background()
closeTracer := otel.Init(ctx)
defer closeTracer()
database.RunMigrations()
host := "0.0.0.0"
port := 8080
address := net.JoinHostPort(host, strconv.Itoa(port))
lis, err := net.Listen("tcp", address)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
pool := database.GetDBPool(ctx)
db := repository.New(pool)
grpcServer := grpc.NewServer()
2024-12-23 16:01:54 +00:00
spec.RegisterQueryServiceServer(grpcServer, controllers.NewQueryController(*query.New(db)))
spec.RegisterExportServiceServer(grpcServer, controllers.NewExportController(*export.New(db)))
spec.RegisterJobCollectorServiceServer(grpcServer, controllers.NewJobCollectorController(*collector.New(db)))
2024-12-18 18:54:48 +00:00
log.Printf("Listening on port %d", port)
if err := grpcServer.Serve(lis); err != nil {
log.Fatalf("Failed to serve: %v", err)
}
}