Files
server/main.go
T
restitux 3cbe670bc1 Implement getRunner grpc endpoint
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
2022-12-31 17:22:00 -07:00

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