49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
"os"
|
|
|
|
"git.ohea.xyz/cursorius/server/config"
|
|
"git.ohea.xyz/cursorius/server/listen"
|
|
"git.ohea.xyz/cursorius/server/pipeline_api"
|
|
"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)
|
|
}
|
|
|
|
getRunnerCh, registerCh, err := runnermanager.StartRunnerManager(configData.Config.Runners)
|
|
if err != nil {
|
|
log.Errorf("Could not start runner: %v", err)
|
|
}
|
|
|
|
poll.StartPolling(configData.Config)
|
|
|
|
mux := http.NewServeMux()
|
|
|
|
pipeline_api.CreateHandler(mux, getRunnerCh)
|
|
|
|
listen.Listen(mux, configData.Config.Address, configData.Config.Port, registerCh, configData.Config)
|
|
}
|