package main import ( "log" "net/http" "os" ) func main() { secret := os.Getenv("WEBHOOK_SECRET") if secret == "" { log.Fatal("WEBHOOK_SECRET not set") } dbPath := os.Getenv("DB_PATH") if dbPath == "" { dbPath = "worker.db" } store, err := OpenStore(dbPath) if err != nil { log.Fatalf("opening store: %v", err) } // Any run still marked running belongs to a dead process. if err := store.SweepStaleLocks(); err != nil { log.Fatalf("sweeping stale locks: %v", err) } apiKey := os.Getenv("ST_API_KEY") if apiKey == "" { log.Fatal("ST_API_KEY not set") } dryRun := os.Getenv("DRY_RUN") != "" if dryRun { log.Println("DRY_RUN set: no writes will be sent to Solidarity Tech") } srv := NewServer(NewClient(apiKey, dryRun), store, secret) log.Println("listening on :8080") log.Fatal(http.ListenAndServe(":8080", srv.Routes())) }