47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	_ "oc-scheduler/routers"
 | 
						|
 | 
						|
	oclib "cloud.o-forge.io/core/oc-lib"
 | 
						|
	"cloud.o-forge.io/core/oc-lib/tools"
 | 
						|
	beego "github.com/beego/beego/v2/server/web"
 | 
						|
	"github.com/beego/beego/v2/server/web/filter/cors"
 | 
						|
)
 | 
						|
 | 
						|
const appname = "oc-scheduler"
 | 
						|
 | 
						|
func main() {
 | 
						|
 | 
						|
	// Init the oc-lib
 | 
						|
	oclib.Init(appname)
 | 
						|
 | 
						|
	// Load the right config file
 | 
						|
	o := oclib.GetConfLoader()
 | 
						|
 | 
						|
	// feed the library with the loaded config
 | 
						|
	oclib.SetConfig(
 | 
						|
		o.GetStringDefault("MONGO_URL", "mongodb://127.0.0.1:27017"),
 | 
						|
		o.GetStringDefault("MONGO_DATABASE", "DC_myDC"),
 | 
						|
		o.GetStringDefault("NATS_URL", "nats://localhost:4222"),
 | 
						|
		o.GetStringDefault("LOKI_URL", "loki://localhost:3100"),
 | 
						|
		o.GetStringDefault("LOG_LEVEL", "info"),
 | 
						|
	)
 | 
						|
 | 
						|
	// Beego init
 | 
						|
	beego.BConfig.AppName = appname
 | 
						|
	beego.BConfig.Listen.HTTPPort = o.GetIntDefault("port", 8080)
 | 
						|
	beego.BConfig.WebConfig.DirectoryIndex = true
 | 
						|
	beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
 | 
						|
	api := &tools.API{}
 | 
						|
	api.Discovered(beego.BeeApp.Handlers.GetAllControllerInfo())
 | 
						|
	beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
 | 
						|
		AllowAllOrigins:  true,
 | 
						|
		AllowMethods:     []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
 | 
						|
		AllowHeaders:     []string{"Origin", "Authorization", "Content-Type"},
 | 
						|
		ExposeHeaders:    []string{"Content-Length", "Content-Type"},
 | 
						|
		AllowCredentials: true,
 | 
						|
	}))
 | 
						|
	beego.Run()
 | 
						|
}
 |