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 - 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
SUMMARY_CONTEXT_SIZE enum: ‘compact’, ‘medium’, ‘large’, ‘full’ compact Controls conversation summarization aggressiveness. Sets the fraction of the model context window at which summarization triggers (compact=25%, medium=40%, large=55%, full=75%).

Ansible Automation Platform Configuration

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)

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