package main import ( "log" "os" _ "github.com/lib/pq" "tangled.sh/seiso.moe/aletheia.directory/pkg/api" "tangled.sh/seiso.moe/aletheia.directory/pkg/config" "tangled.sh/seiso.moe/aletheia.directory/pkg/database" "tangled.sh/seiso.moe/aletheia.directory/pkg/logging" ) func main() { cfg, err := config.LoadConfig("./plc.toml") if err != nil { log.Fatal(err) } logger := logging.NewLogger(cfg.LogLevel) client, err := database.NewClient(cfg.DatabaseURL, logger) if err != nil { logger.Error("failed to setup database", "error", err) os.Exit(1) } defer func() { if err := client.Close(); err != nil { logger.Error("failed to close database connection", "error", err) } }() server := api.NewServer(client, logger, cfg.Port) if err := server.Start(); err != nil { logger.Error("server stopped", "error", err) os.Exit(1) } }