feat(backend): add environment variable configuration support
Add AETHERA_ prefixed env vars for server configuration: - AETHERA_DATA_DIR: data directory path - AETHERA_LISTEN: listen address - AETHERA_PORT: listen port Env vars take precedence over defaults but CLI flags override both.
This commit is contained in:
@@ -4,8 +4,11 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
const envPrefix = "AETHERA_"
|
||||
|
||||
type cliParams struct {
|
||||
ListenAddr string
|
||||
ListenPort int
|
||||
@@ -13,6 +16,24 @@ type cliParams struct {
|
||||
SettingsFile string
|
||||
}
|
||||
|
||||
// getEnvOrDefault returns the value of an environment variable or a default value
|
||||
func getEnvOrDefault(key, defaultValue string) string {
|
||||
if value := os.Getenv(envPrefix + key); value != "" {
|
||||
return value
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
// getEnvIntOrDefault returns the integer value of an environment variable or a default value
|
||||
func getEnvIntOrDefault(key string, defaultValue int) int {
|
||||
if value := os.Getenv(envPrefix + key); value != "" {
|
||||
if intVal, err := strconv.Atoi(value); err == nil {
|
||||
return intVal
|
||||
}
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
func (p *cliParams) Validate() error {
|
||||
// Ensure Generated Directories
|
||||
imgDir := path.Join(p.DataDir, "generated/images")
|
||||
|
||||
Reference in New Issue
Block a user