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
|
|
}
|
|
|
|
err = database.LaunchDB(configData.Config.DBConfig)
|
|
if err != nil {
|
|
log.Errorf("Could not launch db: %v", err)
|
|
return
|
|
}
|
|
|
|
getRunnerCh, registerCh, err := runnermanager.StartRunnerManager(configData.Config.Runners)
|
|
if err != nil {
|
|
log.Errorf("Could not start runner: %v", err)
|
|
return
|
|
}
|
|
|
|
poll.StartPolling(configData.Config)
|
|
|
|
mux := http.NewServeMux()
|
|
|
|
listen.Listen(
|
|
mux,
|
|
configData.Config.Address,
|
|
configData.Config.Port,
|
|
configData.Config,
|
|
registerCh,
|
|
getRunnerCh,
|
|
)
|
|
}
|