rag/internal/app/config/init.go

34 lines
794 B
Go
Raw Normal View History

2024-06-15 17:03:33 +00:00
package config
import (
"github.com/joho/godotenv"
"github.com/kos-v/dsnparser"
)
func InitConfig() {
envPath := GetEnvFilePath()
_ = godotenv.Load(envPath)
Config.DB.DSN = GetEnv("DB_DSN")
Config.DB.Driver = "postgres"
Config.Redis.Addr = GetEnv("REDIS_ADDR")
Config.Redis.Pass = GetEnv("REDIS_PASS")
2024-06-16 06:07:26 +00:00
Config.ListenAddr.GRPC = GetEnv("GRPC_LISTEN_ADDR")
Config.ListenAddr.HTTP = GetEnv("HTTP_LISTEN_ADDR")
2024-06-15 17:03:33 +00:00
Config.JWKS.Url = GetEnv("JWKS_URL")
Config.DebugMode.Enable = GetEnv("DEBUG", "false") == "true"
dsn := dsnparser.Parse(Config.DB.DSN)
var dsn2 = ""
dsn2 += "user=" + dsn.GetUser()
dsn2 += " password=" + dsn.GetPassword()
dsn2 += " dbname=" + dsn.GetPath()
if dsn.HasParam("sslmode") {
dsn2 += " sslmode=" + dsn.GetParam("sslmode")
}
Config.DB.DSN2 = dsn2
}