config ext

This commit is contained in:
nquidox 2026-04-03 19:06:06 +03:00
parent 25a422c0e6
commit 991b250118
3 changed files with 38 additions and 14 deletions

View file

@ -6,31 +6,39 @@ type Config struct {
}
type AppConfig struct {
Mode string
LogLvl string
Mode string
LogLvl string
ChanLen uint
}
type RabbitMQConfig struct {
Host string
Port uint16
User string
Pass string
Vhost string
Host string
Port uint16
User string
Pass string
Vhost string
LoggingEnabled bool
TaskSourceQueue string
TaskResultQueue string
}
func New() *Config {
return &Config{
App: AppConfig{
Mode: getEnv("APP_MODE", "dev"),
LogLvl: getEnv("APP_LOG_LVL", "debug"),
Mode: getEnv("APP_MODE", "dev"),
LogLvl: getEnv("APP_LOG_LVL", "debug"),
ChanLen: getEnvUint("APP_CHANNEL_LEN", 100),
},
Rabbit: RabbitMQConfig{
Host: getEnv("RABBIT_HOST", "10.0.0.4"),
Port: getEnvPort("RABBIT_PORT", 5672),
User: getEnv("RABBIT_USER", "parser-mandarake-dev"),
Pass: getEnv("RABBIT_PASS", "dev-pass"),
Vhost: getEnv("RABBIT_VHOST", "taskProcessorDevHost"),
Host: getEnv("RABBIT_HOST", "10.0.0.4"),
Port: getEnvPort("RABBIT_PORT", 5672),
User: getEnv("RABBIT_USER", "parser-mandarake-dev"),
Pass: getEnv("RABBIT_PASS", "dev-pass"),
Vhost: getEnv("RABBIT_VHOST", "taskProcessorDevHost"),
LoggingEnabled: getEnvBool("RABBIT_LOGGING_ENABLED", true),
TaskSourceQueue: getEnv("TASK_SOURCE_QUEUE", "task-publisher-mandarake"),
TaskResultQueue: getEnv("TASK_RESULT_QUEUE", "tasks-results"),
},
}
}

View file

@ -50,3 +50,14 @@ func getEnvPort(key string, fallback uint16) uint16 {
}
return fallback
}
func getEnvBool(key string, fallback bool) bool {
if value, ok := os.LookupEnv(key); ok {
val, err := strconv.ParseBool(value)
if err != nil {
return fallback
}
return val
}
return fallback
}