Skip to main content

Environment System

The Environment system provides access to environment variables from the system or in-memory environment.

Overview​

The getEnv function allows you to read environment variables. This is useful for accessing system configuration, API keys stored as environment variables, or configuration passed from the CLI.

Available Functions​

  • getEnv() - Get an environment variable value

Common Use Cases​

Reading System Environment Variables​

local homeDir = getEnv("HOME")
if homeDir then
Logger.info("Home directory: " .. homeDir)
end

Accessing API Keys​

local apiKey = getEnv("API_KEY")
if apiKey then
SessionState.set("apiKey", apiKey)
else
Logger.warn("API_KEY environment variable not set")
end

Platform-Specific Configuration​

local os = getEnv("OS") or getEnv("OSTYPE")
if os then
Logger.info("Operating system: " .. os)
end

Using Default Values​

local port = getEnv("PORT") or "8080"
Logger.info("Using port: " .. port)

Important Notes​

  • Environment variable access must be enabled in the configuration (env_access setting)
  • If env_access is disabled, the function returns nil
  • The function checks in-memory environment variables first, then system environment variables
  • Variable names are case-sensitive on most systems

Security Considerations​

  • Be careful when logging environment variable values (they may contain sensitive data)
  • Don't expose environment variables in error messages or logs
  • Use environment variables for configuration, not for user input