in forwarder/main.go [47:85]
func main() {
project := os.Getenv("BT_PROJECT")
instance := os.Getenv("BT_INSTANCE")
if project == "" || instance == "" {
log.Fatalf("either of environment variables BT_PROJECT or BT_INSTANCE is empty.")
}
ctx := context.Background()
var err error
bt, err = bigtable.NewClient(ctx, project, instance)
defer func() {
if err := bt.Close(); err != nil {
log.Fatalf("failed to close Cloud BigTable client: %v", err)
}
}()
if err != nil {
log.Fatalf("failed to create BigTable client: %v", err)
}
go reportWriter(ctx, reportCh)
e := echo.New()
e.Debug = true
e.HideBanner = true
e.HidePort = true
// In order to handle Reporting API, the reporting endpoint needs to handle CORS
e.Use(middleware.CORSWithConfig(middleware.DefaultCORSConfig))
e.POST("/main", mainHandler)
e.POST("/default", mainHandler)
e.GET("/_healthz", healthzHandler)
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
if err := e.Start(":" + port); err != nil {
log.Fatalf("failure occurred on launching HTTP server: %v", err)
}
}