package config import ( "os" ) type Config struct { MQTTAddr string MQTTClientID string RedisAddr string RedisPassword string IncomingQueueKey string OutgoingQueueKey string RedisPrefix string } func LoadConfig() *Config { return &Config{ MQTTAddr: getEnv("MQTT_BROKER_ADDR", "tcp://emqx:1883"), MQTTClientID: getEnv("MQTT_GATEWAY_CLIENT_ID", "star-cloud-gateway"), RedisAddr: getEnv("MQTT_REDIS_ADDR", "star-cloud-redis:6379"), RedisPassword: getEnv("MQTT_REDIS_PASSWORD", ""), IncomingQueueKey: getEnv("MQTT_INCOMING_QUEUE", "mqtt_incoming_jobs"), OutgoingQueueKey: getEnv("MQTT_OUTGOING_QUEUE", "mqtt_outgoing_commands"), RedisPrefix: getEnv("MQTT_REDIS_PREFIX", "starcloud_database_"), } } func getEnv(key, fallback string) string { if value, ok := os.LookupEnv(key); ok { return value } return fallback }