Files
server/main.go
T
restitux fe53a17160 Runners are removed from manager when alloacted
This removes an existing unlocked shared access to runner.running.
This also sets us up for better management of the runners.
2023-03-08 00:13:40 -07:00

62 lines
1.4 KiB
Go

package main
import (
"net/http"
"os"
"git.ohea.xyz/cursorius/server/config"
"git.ohea.xyz/cursorius/server/database"
"git.ohea.xyz/cursorius/server/listen"
"git.ohea.xyz/cursorius/server/poll"
"git.ohea.xyz/cursorius/server/runnermanager"
"github.com/op/go-logging"
)
var log = logging.MustGetLogger("cursorius-server")
func main() {
var format = logging.MustStringFormatter(
`%{color}%{time:15:04:05.000} %{level:.4s}:%{color:reset} %{message}`,
)
backend := logging.NewLogBackend(os.Stderr, "", 0)
backendFormatter := logging.NewBackendFormatter(backend, format)
backendLeveled := logging.AddModuleLevel(backendFormatter)
backendLeveled.SetLevel(logging.DEBUG, "")
logging.SetBackend(backendLeveled)
log.Info("Starting cursorius-server v0.1.0")
configData, err := config.GetConfig()
if err != nil {
log.Errorf("Could not get configuration: %v", err)
return
}
db, err := database.LaunchDB(configData.Config.DBConfig)
if err != nil {
log.Errorf("Could not launch db: %v", err)
return
}
runnerManagerChans, err := runnermanager.StartRunnerManager(configData.Config.Runners, db)
if err != nil {
log.Errorf("Could not start runner: %v", err)
return
}
_ = poll.StartPolling(configData.Config.PipelineConf, db)
mux := http.NewServeMux()
log.Fatal(listen.Listen(
mux,
configData.Config.Address,
configData.Config.Port,
configData.Config.PipelineConf,
db,
runnerManagerChans,
))
}