Environment Variables
Auto-generated from src/config/settings.py.
Table of contents
LLM Configuration
The model string follows LiteLLM format: provider/model-name.
Credentials are read directly from the environment by LiteLLM — no code changes needed to switch providers.
Provider env vars:
OpenAI / compatible endpoints: OPENAI_API_KEY, OPENAI_API_BASE
Anthropic: ANTHROPIC_API_KEY
AWS Bedrock: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION (or AWS_BEARER_TOKEN_BEDROCK for token-based auth)
Google Vertex AI: VERTEXAI_PROJECT, VERTEXAI_LOCATION, GOOGLE_APPLICATION_CREDENTIALS
Google Gemini (direct): GEMINI_API_KEY
Variable
Type
Default
Description
LLM_MODEL
string
openai/gpt-oss-120b-maas
Language model to use
MAX_TOKENS
integer
8192
Maximum tokens for LLM responses
TEMPERATURE
float
0.1
Model temperature (creativity)
REASONING_EFFORT
string
-
Reasoning effort level
RATE_LIMIT_REQUESTS
integer
-
Rate limit requests per second
LLM_MAX_RETRIES
integer
6
Maximum retry attempts on throttling (429) and server errors
LLM_READ_TIMEOUT
integer
900
Read timeout in seconds for LLM API responses (applies to both Bedrock and OpenAI)
LLM_CONNECT_TIMEOUT
integer
60
Connection timeout in seconds for LLM API calls
Supports both Controller API and Galaxy API (Private Automation Hub).
Galaxy API URL is derived from controller_url and uses the same oauth_token.
Variable
Type
Default
Description
AAP_CONTROLLER_URL
string
-
AAP Controller base URL
AAP_ORG_NAME
string
-
Organization name
AAP_API_PREFIX
string
/api/controller/v2
API path prefix
AAP_OAUTH_TOKEN
secret
-
OAuth token for auth
AAP_USERNAME
string
-
Username for basic auth
AAP_PASSWORD
secret
-
Password for basic auth
AAP_CA_BUNDLE
string
-
Path to CA certificate
AAP_VERIFY_SSL
boolean
true
SSL verification flag
AAP_TIMEOUT_S
float
30.0
Request timeout in seconds
AAP_PROJECT_NAME
string
-
Project name in AAP
AAP_SCM_CREDENTIAL_ID
integer
-
Credential ID for private repos
AAP_GALAXY_REPOSITORY
string
published
Galaxy repository to search (published, staging, community)
AAP_EE_IMAGE
string
quay.io/x2ansible/ee-x2a:latest
Execution Environment container image for AAP (molecule tests and role runs)
AAP_INVENTORY_NAME
string
Molecule Local
AAP inventory name for molecule tests (created if missing)
Processing Configuration
Variable
Type
Default
Description
RECURSION_LIMIT
integer
500
Maximum recursion limit for LLM calls
MAX_WRITE_ATTEMPTS
integer
10
Maximum number of attempts to write all files from checklist
MAX_VALIDATION_ATTEMPTS
integer
5
Maximum number of attempts to fix validation errors
X2A_ERROR_FILE
string
-
File path to write error details on failure. Used by the job script to propagate errors.
RULES_MAX_CHARS
integer
50000
Maximum total characters allowed for organizational rules content
Logging Configuration
Variable
Type
Default
Description
DEBUG_ALL
boolean
false
Enable debug logging for all libraries
LOG_LEVEL
enum: ‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’
INFO
Log level for x2convertor namespace
JSON_LINES
pathlib._local.Path
-
Path to directory for dumping agent messages in JSON Lines format
Molecule Testing Configuration
Variable
Type
Default
Description
MOLECULE_DOCKER_IMAGE
string
docker.io/geerlingguy/docker-fedora40-ansible:latest
Docker image for Molecule tests