Feat: Backend scaffolding and local dev stack
This commit is contained in:
35
Backend/cmd/web/main.go
Normal file
35
Backend/cmd/web/main.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"moku-backend/internal/bootstrap"
|
||||
"moku-backend/internal/httpx"
|
||||
"moku-backend/internal/process"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app, err := bootstrap.New("web")
|
||||
if err != nil {
|
||||
log.Fatalf("bootstrap web service: %v", err)
|
||||
}
|
||||
defer func() {
|
||||
if closeErr := app.Close(); closeErr != nil {
|
||||
app.Logger.Error("close web service", "error", closeErr)
|
||||
}
|
||||
}()
|
||||
|
||||
handler := httpx.NewRouter(httpx.RouterConfig{
|
||||
ServiceName: app.ServiceName,
|
||||
Config: app.Config,
|
||||
Logger: app.Logger,
|
||||
BuildInfo: app.BuildInfo,
|
||||
Database: app.Database,
|
||||
Cache: app.Cache,
|
||||
})
|
||||
|
||||
if err := process.RunHTTPServer(app.ServiceName, app.Config.Address(app.ServiceName), handler, app.Logger, app.Config.ShutdownTimeout); err != nil {
|
||||
app.Logger.Error("web service stopped", "error", err)
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user