feat: add docker env vars start server
This commit is contained in:
+22
-8
@@ -2,6 +2,7 @@ package setting
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/go-ini/ini"
|
||||
@@ -43,17 +44,30 @@ var DatabaseSetting = &Database{}
|
||||
|
||||
var cfg *ini.File
|
||||
|
||||
func fileExists(filePath string) bool {
|
||||
_, err := os.Stat(filePath)
|
||||
return !os.IsNotExist(err)
|
||||
}
|
||||
|
||||
// Setup initialize the configuration instance
|
||||
func Setup() {
|
||||
var err error
|
||||
cfg, err = ini.Load("conf/app.ini")
|
||||
if err != nil {
|
||||
log.Fatalf("setting.Setup, fail to parse 'conf/app.ini': %v", err)
|
||||
}
|
||||
intPath := "conf/app.ini"
|
||||
|
||||
mapTo("app", AppSetting)
|
||||
mapTo("server", ServerSetting)
|
||||
mapTo("database", DatabaseSetting)
|
||||
if fileExists(intPath) {
|
||||
log.Printf("[message-nest] start server from %s.", intPath)
|
||||
cfg, err = ini.Load(intPath)
|
||||
if err != nil {
|
||||
log.Fatalf("[message-nest] setting.Setup, fail to parse 'conf/app.ini': %v", err)
|
||||
}
|
||||
|
||||
mapTo("app", AppSetting)
|
||||
mapTo("server", ServerSetting)
|
||||
mapTo("database", DatabaseSetting)
|
||||
} else {
|
||||
log.Printf("[message-nest] %s is not exists, start server from env vars.", intPath)
|
||||
loadConfigFromEnv()
|
||||
}
|
||||
|
||||
ServerSetting.ReadTimeout = ServerSetting.ReadTimeout * time.Second
|
||||
ServerSetting.WriteTimeout = ServerSetting.WriteTimeout * time.Second
|
||||
@@ -63,6 +77,6 @@ func Setup() {
|
||||
func mapTo(section string, v interface{}) {
|
||||
err := cfg.Section(section).MapTo(v)
|
||||
if err != nil {
|
||||
log.Fatalf("Cfg.MapTo %s err: %v", section, err)
|
||||
log.Fatalf("[message-nest] Cfg.MapTo %s err: %v", section, err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user