Skip to content
Snippets Groups Projects
Commit f6002500 authored by abousselmi's avatar abousselmi
Browse files

Create a separate webui config factory

This separates the configuration of WebUI for UDR's. WebUI has now
its own config factory which loads the webuicfg.conf config file.
parent 2a02d460
No related branches found
No related tags found
No related merge requests found
/*
* WebUI Configuration Factory
*/
package factory
type Config struct {
Info *Info `yaml:"info"`
Configuration *Configuration `yaml:"configuration"`
}
/*
* WebUI Configuration Factory
*/
package factory
type Configuration struct {
Mongodb *Mongodb `yaml:"mongodb"`
}
/*
* WebUI Configuration Factory
*/
package factory
type Info struct {
Version string `yaml:"version,omitempty"`
Description string `yaml:"description,omitempty"`
}
/*
* WebUI Configuration Factory
*/
package factory
type Mongodb struct {
Name string `yaml:"name"`
Url string `yaml:"url"`
}
/*
* WebUI Configuration Factory
*/
package factory
import (
"fmt"
"io/ioutil"
"gopkg.in/yaml.v2"
"free5gc/webconsole/backend/logger"
)
var WebUIConfig Config
func checkErr(err error) {
if err != nil {
err = fmt.Errorf("[Configuration] %s", err.Error())
logger.AppLog.Fatal(err)
}
}
// TODO: Support configuration update from REST api
func InitConfigFactory(f string) {
content, err := ioutil.ReadFile(f)
checkErr(err)
WebUIConfig = Config{}
err = yaml.Unmarshal([]byte(content), &WebUIConfig)
checkErr(err)
logger.InitLog.Infof("Successfully initialize configuration %s", f)
}
......@@ -7,7 +7,7 @@ import (
"free5gc/lib/MongoDBLibrary"
"free5gc/lib/path_util"
"free5gc/src/app"
"free5gc/src/udr/factory"
"free5gc/webconsole/backend/factory"
"free5gc/webconsole/backend/WebUI"
"free5gc/webconsole/backend/logger"
"free5gc/webconsole/backend/webui_context"
......@@ -59,8 +59,8 @@ func (*WEBUI) Initialize(c *cli.Context) {
if config.webuicfg != "" {
factory.InitConfigFactory(config.webuicfg)
} else {
DefaultUdrConfigPath := path_util.Gofree5gcPath("free5gc/config/webuicfg.conf")
factory.InitConfigFactory(DefaultUdrConfigPath)
DefaultWebUIConfigPath := path_util.Gofree5gcPath("free5gc/config/webuicfg.conf")
factory.InitConfigFactory(DefaultWebUIConfigPath)
}
initLog.Traceln("WEBUI debug level(string):", app.ContextSelf().Logger.WEBUI.DebugLevel)
......@@ -90,8 +90,8 @@ func (webui *WEBUI) FilterCli(c *cli.Context) (args []string) {
}
func (webui *WEBUI) Start() {
// get config file info from UdrConfig
mongodb := factory.UdrConfig.Configuration.Mongodb
// get config file info from WebUIConfig
mongodb := factory.WebUIConfig.Configuration.Mongodb
// Connect to MongoDB
MongoDBLibrary.SetMongoDB(mongodb.Name, mongodb.Url)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment