scrapper-mandarake/config/config.go
nquidox 270cc77d31
Some checks failed
/ Make image (push) Failing after 31s
metrics server added
2026-04-24 12:57:00 +03:00

65 lines
1.7 KiB
Go

package config
import "runtime"
type Config struct {
App AppConfig
Rabbit RabbitMQConfig
Metrics MetricsConfig
}
type AppConfig struct {
Mode string
LogLvl string
ChanLen uint
ExternalBrowser string
NumCPUs int
TaskTimeoutSeconds int
}
type RabbitMQConfig struct {
Host string
Port uint16
User string
Pass string
Vhost string
LoggingEnabled bool
TaskSourceQueue string
TaskResultQueue string
}
type MetricsConfig struct {
Host string
Port string
GinMode string
}
func New() *Config {
return &Config{
App: AppConfig{
Mode: getEnv("APP_MODE", "dev"),
LogLvl: getEnv("APP_LOG_LVL", "debug"),
ChanLen: getEnvUint("APP_CHANNEL_LEN", 100),
ExternalBrowser: getEnv("APP_EXTERNAL_BROWSER", "http://10.0.0.4:13000"),
NumCPUs: getEnvInt("APP_NUMCPUS", runtime.NumCPU()),
TaskTimeoutSeconds: getEnvInt("APP_TASK_TIMEOUT_SECONDS", 60),
},
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"),
LoggingEnabled: getEnvBool("RABBIT_LOGGING_ENABLED", true),
TaskSourceQueue: getEnv("TASK_SOURCE_QUEUE", "task-publisher-mandarake"),
TaskResultQueue: getEnv("TASK_RESULT_QUEUE", "tasks-results"),
},
Metrics: MetricsConfig{
Host: getEnv("METRICS_HOST", "0.0.0.0"),
Port: getEnv("METRICS_PORT", "19080"),
GinMode: getEnv("METRICS_GIN_MODE", "dev"),
},
}
}