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
|
|
|
|
}
|