1234567891011121314151617181920212223242526272829 |
- package config
- import (
- "fmt"
- "os"
- "github.com/mitchellh/mapstructure"
- "github.com/spf13/viper"
- )
- var WorkDir = os.Getenv("MQTT_WORK_DIR")
- func Initialize(path string, cfgStruct interface{}) error {
- if WorkDir == "" {
- WorkDir = "."
- }
- dir := fmt.Sprintf("%s/config/%s", WorkDir, path)
- viper.SetConfigType("yaml")
- viper.SetConfigFile(dir)
- if err := viper.ReadInConfig(); err != nil {
- return err
- }
- if err := viper.Unmarshal(&cfgStruct, func(c *mapstructure.DecoderConfig) {
- c.TagName = "yaml"
- }); err != nil {
- return err
- }
- return nil
- }
|