3cbe670bc1
This includes refactoring the jobscheduler into the runnermanager. This service manages runner connections and allocating them to pipelines. These requests are done via the pipeline grpc api
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")
|
|
|
|
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)
|
|
}
|