Files
zkill-susser/config/config.go

63 lines
1.2 KiB
Go

package config
import (
"os"
"strconv"
"github.com/joho/godotenv"
)
func getEnv(key, defaultValue string) string {
value := os.Getenv(key)
if value == "" {
return defaultValue
}
return value
}
func getEnvInt(key string, defaultValue int) int {
value := os.Getenv(key)
if value == "" {
return defaultValue
}
parsed, err := strconv.Atoi(value)
if err != nil {
return defaultValue
}
return parsed
}
var (
NSQHost string
NSQPort int
NSQLookupHost string
NSQLookupPort int
ServerPort string
ServerMode bool
ClickhouseHost string
ClickhouseDatabase string
ClickhouseUsername string
ClickhousePassword string
)
func InitConfig() error {
godotenv.Load()
NSQHost = getEnv("NSQ_HOST", "127.0.0.1")
NSQPort = getEnvInt("NSQ_PORT", 4150)
NSQLookupHost = getEnv("NSQ_LOOKUP_HOST", "127.0.0.1")
NSQLookupPort = getEnvInt("NSQ_LOOKUP_PORT", 4161)
ServerPort = getEnv("SERVER_PORT", "3000")
ServerMode = getEnv("SERVER", "false") == "true"
ClickhouseHost = getEnv("CLICKHOUSE_HOST", "127.0.0.1")
ClickhouseDatabase = getEnv("CLICKHOUSE_DATABASE", "zkill")
ClickhouseUsername = getEnv("CLICKHOUSE_USERNAME", "default")
ClickhousePassword = getEnv("CLICKHOUSE_PASSWORD", "")
return nil
}