LoadConfigFromEnv loads config from environment variables
(c *Config)
| 31 | |
| 32 | // LoadConfigFromEnv loads config from environment variables |
| 33 | func LoadConfigFromEnv(c *Config) (*Config, error) { |
| 34 | c = ensure.Ensure(c, NewDefaultConfig) |
| 35 | |
| 36 | // AWS Lambda environment detected: no queues and single worker |
| 37 | if fnName, _ := AWS_LAMBDA_FUNCTION_NAME.GetEnv(); len(fnName) > 0 { |
| 38 | c.WorkersNumber = 1 |
| 39 | c.RequestsQueueSize = 0 |
| 40 | |
| 41 | slog.Info("AWS Lambda environment detected, setting workers to 1") |
| 42 | |
| 43 | return c, nil |
| 44 | } |
| 45 | |
| 46 | err := errors.Join( |
| 47 | IMGPROXY_REQUESTS_QUEUE_SIZE.Parse(&c.RequestsQueueSize), |
| 48 | IMGPROXY_WORKERS.Parse(&c.WorkersNumber), |
| 49 | ) |
| 50 | |
| 51 | return c, err |
| 52 | } |
| 53 | |
| 54 | // Validate checks configuration values |
| 55 | func (c *Config) Validate() error { |
no test coverage detected