Files
oc-scheduler/main.go

41 lines
1.0 KiB
Go

package main
import (
"encoding/base64"
"oc-scheduler/conf"
"oc-scheduler/infrastructure"
_ "oc-scheduler/routers"
"os"
oclib "cloud.o-forge.io/core/oc-lib"
beego "github.com/beego/beego/v2/server/web"
)
const appname = "oc-scheduler"
func main() {
o := oclib.GetConfLoader(appname)
conf.GetConfig().KubeHost = o.GetStringDefault("KUBERNETES_SERVICE_HOST", os.Getenv("KUBERNETES_SERVICE_HOST"))
conf.GetConfig().KubePort = o.GetStringDefault("KUBERNETES_SERVICE_PORT", "6443")
sDec, err := base64.StdEncoding.DecodeString(o.GetStringDefault("KUBE_CA", ""))
if err == nil {
conf.GetConfig().KubeCA = string(sDec)
}
sDec, err = base64.StdEncoding.DecodeString(o.GetStringDefault("KUBE_CERT", ""))
if err == nil {
conf.GetConfig().KubeCert = string(sDec)
}
sDec, err = base64.StdEncoding.DecodeString(o.GetStringDefault("KUBE_DATA", ""))
if err == nil {
conf.GetConfig().KubeData = string(sDec)
}
oclib.InitAPI(appname)
go infrastructure.ListenNATS()
go infrastructure.InitSelfPlanner()
go infrastructure.ListenConfirm()
beego.Run()
}