| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package global
- import (
- "github.com/ZR233/gconfig/v2"
- "github.com/hashicorp/consul/api"
- "github.com/sirupsen/logrus"
- "github.com/spf13/viper"
- "path"
- )
- const (
- envName_CONSUL_ADDR = "CONSUL_ADDR"
- )
- func Init() (db gconfig.DB) {
- err := viper.BindEnv(envName_CONSUL_ADDR)
- if err != nil {
- panic(err)
- }
- var consulCfg *api.Config
- consulAddr := viper.GetString(envName_CONSUL_ADDR)
- if consulAddr != "" {
- ConsulAddr = consulAddr
- consulCfg = &api.Config{
- Address: ConsulAddr,
- }
- logrus.Info("consul addr: %s", ConsulAddr)
- }
- Config = gconfig.NewConfig(path.Join(ProjectName, AppName)).UseConsul(consulCfg)
- err = Config.Unmarshal(&Project)
- if err != nil {
- panic(err)
- }
- logrus.Info("config finish")
- return
- }
|