feat: config file
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"git.brettb.xyz/goinv/client/internal/app"
|
||||
"git.brettb.xyz/goinv/client/internal/config"
|
||||
"github.com/knadh/koanf/parsers/json"
|
||||
"github.com/knadh/koanf/providers/env"
|
||||
"github.com/knadh/koanf/providers/file"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
@@ -9,7 +15,21 @@ func main() {
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
|
||||
a := app.NewApp("goinv", "0.1.0", "http://localhost:3001", logger) // TODO: CONFIGURATION
|
||||
config.LoadConfig(file.Provider("config.json"), json.Parser())
|
||||
config.LoadConfig(env.Provider("GOINV_", ".", func(s string) string {
|
||||
return strings.Replace(strings.ToLower(
|
||||
strings.TrimPrefix(s, "GOINV")), "_", ".", -1,
|
||||
)
|
||||
}), nil)
|
||||
|
||||
var cfg config.Config
|
||||
|
||||
err := config.Unmarshal(&cfg)
|
||||
if err != nil {
|
||||
logger.Panic("could not load config", zap.Error(err))
|
||||
}
|
||||
|
||||
a := app.NewApp("goinv", "0.1.1", cfg.API.URL, logger)
|
||||
|
||||
if err := a.Run(); err != nil {
|
||||
logger.Panic("application errored", zap.Error(err))
|
||||
|
||||
Reference in New Issue
Block a user