Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 

39 Zeilen
985 B

  1. package config
  2. import "os"
  3. type Config struct {
  4. HTTPAddr string
  5. WSAddr string
  6. MQTTHost string
  7. MQTTUser string
  8. MQTTPass string
  9. MQTTClientID string
  10. DBPath string
  11. KafkaURL string
  12. RedisURL string
  13. ValkeyURL string
  14. }
  15. // getEnv returns env var value or a default if not set.
  16. func getEnv(key, def string) string {
  17. if v := os.Getenv(key); v != "" {
  18. return v
  19. }
  20. return def
  21. }
  22. func Load() *Config {
  23. return &Config{
  24. HTTPAddr: getEnv("HTTP_HOST_PATH", "0.0.0.0:1902"),
  25. WSAddr: getEnv("HTTPWS_HOST_PATH", "0.0.0.0:8088"),
  26. MQTTHost: getEnv("MQTT_HOST", "192.168.1.101:1883"),
  27. MQTTUser: getEnv("MQTT_USERNAME", "user"),
  28. MQTTPass: getEnv("MQTT_PASSWORD", "pass"),
  29. MQTTClientID: getEnv("MQTT_CLIENT_ID", "presence-detector"),
  30. DBPath: getEnv("DB_PATH", "/data/conf/presence/presence.db"),
  31. KafkaURL: getEnv("KAFKA_URL", "127.0.0.1:9092"),
  32. ValkeyURL: getEnv("VALKEY_URL", "127.0.0.1:6379"),
  33. }
  34. }