38 lines
738 B
Go
38 lines
738 B
Go
// ingestion/cmd/server/main.go
|
|
package main
|
|
|
|
import (
|
|
"log/slog"
|
|
"net/http"
|
|
"os"
|
|
|
|
"github.com/mathiasbq/hyperguild/ingestion/internal/api"
|
|
)
|
|
|
|
func main() {
|
|
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
|
|
brainDir := os.Getenv("INGEST_BRAIN_DIR")
|
|
if brainDir == "" {
|
|
brainDir = "../brain"
|
|
}
|
|
|
|
port := os.Getenv("INGEST_PORT")
|
|
if port == "" {
|
|
port = "3300"
|
|
}
|
|
|
|
h := api.NewHandler(brainDir, logger)
|
|
|
|
mux := http.NewServeMux()
|
|
mux.HandleFunc("/query", h.Query)
|
|
mux.HandleFunc("/write", h.Write)
|
|
|
|
addr := ":" + port
|
|
logger.Info("ingestion server starting", "addr", addr, "brain_dir", brainDir)
|
|
if err := http.ListenAndServe(addr, mux); err != nil {
|
|
logger.Error("server stopped", "err", err)
|
|
os.Exit(1)
|
|
}
|
|
}
|