From a8b45cdd0f2c4cd937942306fbaa922732baacce Mon Sep 17 00:00:00 2001 From: Sergey Stepanov Date: Wed, 26 Jul 2023 19:38:03 +0300 Subject: [PATCH] Make conf embed reentrant --- pkg/config/loader.go | 10 +++++++--- pkg/worker/room_test.go | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/config/loader.go b/pkg/config/loader.go index 37c1449f7..99ae6e7c5 100644 --- a/pkg/config/loader.go +++ b/pkg/config/loader.go @@ -2,11 +2,11 @@ package config import ( "bytes" + "embed" "os" "path/filepath" "strings" - _ "embed" "github.com/knadh/koanf/maps" "github.com/knadh/koanf/v2" "gopkg.in/yaml.v3" @@ -16,7 +16,7 @@ const EnvPrefix = "CLOUD_GAME_" var ( //go:embed config.yaml - conf Bytes + conf embed.FS ) type Kv = map[string]any @@ -124,10 +124,14 @@ func LoadConfig(config any, path string) (loaded []string, err error) { k := koanf.New("_") // move to global scope if configs become dynamic defer k.Delete("") + data, err := conf.ReadFile("config.yaml") + if err != nil { + return nil, err + } + conf := Bytes(data) if err := k.Load(&conf, &YAML{}); err != nil { return nil, err } - conf = nil loaded = append(loaded, "default") for _, dir := range dirs { diff --git a/pkg/worker/room_test.go b/pkg/worker/room_test.go index a396bc1ee..3fe0fc262 100644 --- a/pkg/worker/room_test.go +++ b/pkg/worker/room_test.go @@ -3,7 +3,6 @@ package worker import ( "flag" "fmt" - "github.com/giongto35/cloud-game/v3/pkg/worker/emulator/libretro/manager" "hash/crc32" "image" "image/color" @@ -22,6 +21,7 @@ import ( "github.com/giongto35/cloud-game/v3/pkg/logger" "github.com/giongto35/cloud-game/v3/pkg/worker/emulator" image2 "github.com/giongto35/cloud-game/v3/pkg/worker/emulator/image" + "github.com/giongto35/cloud-game/v3/pkg/worker/emulator/libretro/manager" "github.com/giongto35/cloud-game/v3/pkg/worker/encoder" "github.com/giongto35/cloud-game/v3/pkg/worker/thread" "golang.org/x/image/font"