fe53a17160
This removes an existing unlocked shared access to runner.running. This also sets us up for better management of the runners.
62 lines
1.4 KiB
Go
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,
|
|
))
|
|
}
|