package config import ( log "github.com/sirupsen/logrus" "os" "strconv" "time" ) func getEnv(key, fallback string) string { if value, ok := os.LookupEnv(key); ok { return value } return fallback } func getEnvSeconds(key string, fallback int) time.Duration { if value, ok := os.LookupEnv(key); ok { num, err := strconv.Atoi(value) if err != nil { log.Printf("Error converting %v to int, using default value - 60 seconds", key) return time.Duration(60) * time.Second } return time.Duration(num) * time.Second } return time.Duration(fallback) * time.Second } func getEnvUint(key string, fallback uint) uint { var def uint = 100 if value, ok := os.LookupEnv(key); ok { num, err := strconv.ParseUint(value, 10, 64) if err != nil { log.Printf("Error converting %v to uint, using default value - %v", key, def) return def } return uint(num) } return fallback } func getEnvInt(key string, fallback int) int { if value, ok := os.LookupEnv(key); ok { num, err := strconv.Atoi(value) if err != nil { log.Printf("Error converting %v to int, using fallback value - %v", key, fallback) return fallback } return num } return fallback }