package main

/*
1. 算法清理可以用仿真云平台的调度系统
*/

import (
	"cicv-data-closedloop/amd64/kubernetes-scheduler/package/handler"
	"cicv-data-closedloop/common/config/c_log"
	"cicv-data-closedloop/common/config/c_nacos"
	"cicv-data-closedloop/common/config/c_oss"
	commonHandler "cicv-data-closedloop/common/gin/handler"
	"cicv-data-closedloop/common/util"
	"github.com/gin-gonic/gin"
	"os"
)

const (
	servicePort  = 12341
	serviceName  = "kubernetes-scheduler"
	routerPrefix = "/cicv-data-closedloop/kubernetes-scheduler/"
	configDataId = "kubernetes-scheduler-prod.yaml"
	configGroup  = "DEFAULT_GROUP"
)

func init() {
	c_log.InitLog("kubernetes-scheduler")
	c_log.InitLog(serviceName)
	c_oss.InitOss(false)
	c_nacos.InitService(false, serviceName, servicePort, map[string]string{
		"开发者":  "孟令鑫",
		"内网IP": "10.14.85.228",
		"外网IP": "36.110.106.156",
	})
	c_nacos.InitConfig(false, configDataId, configGroup)
}

func main() {
	router := gin.Default()
	router.Use(commonHandler.ValidateHeaders())
	api := router.Group(routerPrefix)
	api.POST("/start-project", handler.StartProject)
	err := router.Run()
	if err != nil {
		c_log.GlobalLogger.Error("程序崩溃,监听端口 " + util.ToString(servicePort) + " 失败。")
		os.Exit(-1)
	}
}