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) }