31 lines
634 B
Go
31 lines
634 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/kkyr/fig"
|
|
)
|
|
|
|
type Config struct {
|
|
Timezone string `fig:"tz" default:"America/New_York"`
|
|
Server struct {
|
|
Port string `fig:"port" default:"3000"`
|
|
}
|
|
Logger struct {
|
|
Level string `fig:"level" default:"error"`
|
|
}
|
|
}
|
|
|
|
func LoadConfig(server *Server) error {
|
|
var cfg Config
|
|
err := fig.Load(&cfg, fig.File("config.yaml"), fig.Dirs("./config"), fig.UseEnv(""))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
fmt.Println("Configuration loaded successfully...")
|
|
fmt.Println("PORT: ", cfg.Server.Port)
|
|
fmt.Println("TZ: ", cfg.Timezone)
|
|
server.Config = &cfg
|
|
return nil
|
|
}
|