Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

37 rader
908 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. }
  14. // getEnv returns env var value or a default if not set.
  15. func getEnv(key, def string) string {
  16. if v := os.Getenv(key); v != "" {
  17. return v
  18. }
  19. return def
  20. }
  21. func Load() *Config {
  22. return &Config{
  23. HTTPAddr: getEnv("HTTP_HOST_PATH", "0.0.0.0:8080"),
  24. WSAddr: getEnv("HTTPWS_HOST_PATH", "0.0.0.0:8088"),
  25. MQTTHost: getEnv("MQTT_HOST", "192.168.1.101:1883"),
  26. MQTTUser: getEnv("MQTT_USERNAME", "user"),
  27. MQTTPass: getEnv("MQTT_PASSWORD", "pass"),
  28. MQTTClientID: getEnv("MQTT_CLIENT_ID", "presence-detector"),
  29. DBPath: getEnv("DB_PATH", "/data/conf/presence/presence.db"),
  30. KafkaURL: getEnv("KAFKA_URL", "127.0.0.1:9092"),
  31. }
  32. }