diff --git a/config/conf.go b/config/conf.go index a9f2bdd..7ed46e5 100644 --- a/config/conf.go +++ b/config/conf.go @@ -9,6 +9,9 @@ import "sync" // =================================================== type Config struct { + IsApi bool + IsNano bool + APIPort int NATSUrl string MongoUrl string @@ -48,10 +51,13 @@ func GetConfig() *Config { return instance } -func SetConfig(mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string, port int, +func SetConfig(isNano bool, isAPI bool, mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string, port int, pkPath, ppPath, internalCatalogAPI, internalSharedAPI, internalWorkflowAPI, internalWorkspaceAPI, internalPeerAPI, internalDatacenterAPI string, internalSchedulerAPI string) *Config { + GetConfig().IsNano = isNano + GetConfig().IsApi = isAPI + GetConfig().MongoUrl = mongoUrl GetConfig().MongoDatabase = database GetConfig().NATSUrl = natsUrl diff --git a/entrypoint.go b/entrypoint.go index f3aa4e7..e221a15 100644 --- a/entrypoint.go +++ b/entrypoint.go @@ -155,6 +155,9 @@ func InitDaemon(appName string) { // resources.InitNative() // feed the library with the loaded config SetConfig( + o.GetBoolDefault("IS_NANO", false), + o.GetBoolDefault("IS_API", true), + o.GetStringDefault("MONGO_URL", "mongodb://127.0.0.1:27017"), o.GetStringDefault("MONGO_DATABASE", "DC_myDC"), o.GetStringDefault("NATS_URL", "nats://localhost:4222"), @@ -172,11 +175,13 @@ func InitDaemon(appName string) { o.GetStringDefault("INTERNAL_DATACENTER_API", "oc-datacenter"), o.GetStringDefault("INTERNAL_SCHEDULER_API", "oc-scheduler"), ) - // 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" + if config.GetConfig().IsApi { + // 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" + } } type IDTokenClaims struct { @@ -280,19 +285,22 @@ func extractFromToken(token string, attr string) string { func InitAPI(appName string, extraRoutes ...map[string][]string) { InitDaemon(appName) - beego.BConfig.Listen.HTTPPort = config.GetConfig().APIPort - beego.BConfig.WebConfig.DirectoryIndex = true - beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger" - c := 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.InsertFilter("*", beego.BeforeRouter, c) - api := &tools.API{} - api.Discovered(beego.BeeApp.Handlers.GetAllControllerInfo(), extraRoutes...) + if config.GetConfig().IsApi { + beego.BConfig.Listen.HTTPPort = config.GetConfig().APIPort + beego.BConfig.WebConfig.DirectoryIndex = true + beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger" + c := 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.InsertFilter("*", beego.BeforeRouter, c) + + api := &tools.API{} + api.Discovered(beego.BeeApp.Handlers.GetAllControllerInfo(), extraRoutes...) + } } // @@ -314,11 +322,11 @@ func GetLogger() zerolog.Logger { * @param logLevel string * @return *Config */ -func SetConfig(mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string, +func SetConfig(isNano bool, isApi bool, mongoUrl string, database string, natsUrl string, lokiUrl string, logLevel string, port int, pppath string, pkpath string, internalCatalogAPI, internalSharedAPI, internalWorkflowAPI, internalWorkspaceAPI, internalPeerAPI, internalDatacenterAPI string, internalSchedulerAPI string) *config.Config { - cfg := config.SetConfig(mongoUrl, database, natsUrl, lokiUrl, logLevel, port, pkpath, pppath, internalCatalogAPI, internalSharedAPI, internalWorkflowAPI, + cfg := config.SetConfig(isNano, isApi, mongoUrl, database, natsUrl, lokiUrl, logLevel, port, pkpath, pppath, internalCatalogAPI, internalSharedAPI, internalWorkflowAPI, internalWorkspaceAPI, internalPeerAPI, internalDatacenterAPI, internalSchedulerAPI) defer func() { if r := recover(); r != nil {