Newer
Older
package config
import "time"
type Config struct {
LogLevel string `envconfig:"LOG_LEVEL" default:"INFO"`
}
type httpConfig struct {
Host string `envconfig:"HTTP_HOST"`
Port string `envconfig:"HTTP_PORT" default:"8080"`
IdleTimeout time.Duration `envconfig:"HTTP_IDLE_TIMEOUT" default:"120s"`
ReadTimeout time.Duration `envconfig:"HTTP_READ_TIMEOUT" default:"10s"`
WriteTimeout time.Duration `envconfig:"HTTP_WRITE_TIMEOUT" default:"10s"`
}
type redisConfig struct {
Addr string `envconfig:"REDIS_ADDR" required:"true"`
User string `envconfig:"REDIS_USER" required:"true"`
Pass string `envconfig:"REDIS_PASS" required:"true"`
DB int `envconfig:"REDIS_DB" default:"0"`
TTL time.Duration `envconfig:"REDIS_EXPIRATION"` // no default expiration, keys are set to live forever
}
type natsConfig struct {
Addr string `envconfig:"NATS_ADDR" required:"true"`
Subject string `envconfig:"NATS_SUBJECT" default:"external"`
}