APP_HOST=0.0.0.0
# Internal uvicorn port (not published). Public vCenter HTTPS is on api-gateway :443.
APP_PORT=8080
DATABASE_URL=postgresql://vmware:vmware@postgres:5432/vmware_simulator
TEST_DATABASE_URL=postgresql://vmware:vmware@postgres:5432/vmware_simulator
DB_POOL_MIN_SIZE=1
DB_POOL_MAX_SIZE=10
DB_CONNECT_TIMEOUT_SECONDS=10
DB_COMMAND_TIMEOUT_SECONDS=30
LOG_LEVEL=INFO
REQUEST_ID_HEADER=X-Request-ID
VSPHERE_RELEASE=8.0 U2
# Native vSphere /api + /sdk is the default plane.
ENABLE_PVE_STUB=false
# vSphere synthetic inventory (default large ≈ 10 hosts / 1000 VMs)
SEED_VSPHERE_PROFILE=large
SEED_VSPHERE_LARGE_HOSTS=10
SEED_VSPHERE_LARGE_VMS=1000
# Optional Proxmox stub plane (only when ENABLE_PVE_STUB=true):
# CONTRACT_SNAPSHOT=/app/contracts/pve-9.2.3.json
# COMPATIBILITY_EVIDENCE=/app/evidence/pve-9.2.3.json
CONTRACT_FALLBACK=error
CATALOG_ARTIFACT_URL_6=stub://vmware/vsphere-7.0/api-contract
CATALOG_ARTIFACT_URL_7=stub://vmware/vsphere-7.0u3/api-contract
CATALOG_ARTIFACT_URL_8=stub://vmware/vsphere-8.0/api-contract
CATALOG_ARTIFACT_URL_9=stub://vmware/vsphere-8.0u2/api-contract
TICKET_SIGNING_KEY=development-only-signing-key-change-me
TASK_WORKER_CONCURRENCY=2
TASK_LEASE_SECONDS=30
SIMULATION_SEED=42
SIMULATION_TIME_SCALE=10
SIMULATOR_ADMIN_ENABLED=false
SIMULATOR_ADMIN_TOKEN=replace-with-a-long-random-secret
