Configuration And Environment
Last reviewed: 2026-07-05
Config Loading
The worker loads YAML from an explicit --config, ANUVA_CONFIG_PATH, or the default C:\Anuva\Worker\config\worker.yaml. Config is typed by AppSettings in src/anuva_python_server/config/settings.py.
Status: Implemented. Unknown keys are forbidden, jobs.acquisition_mode is constrained to auto, manual, or hybrid, ZeroMQ ports must be unique, worker.max_active_jobs is constrained to 1, and direct persisted secret keys are rejected.
Required Or Common Environment Variables
| Variable | Status | Purpose |
|---|---|---|
ANUVA_CONFIG_PATH |
Optional | Default config file path when --config is omitted. |
ANUVA_WORKER_API_TOKEN |
Required for real Web App auth | Default env key referenced by webapp.api_token_env. |
ANUVA_DASHBOARD_TOKEN |
Required for dashboard mutations when configured | Default env key referenced by servers.dashboard.admin_token_env. |
ANUVA_LOG_LEVEL |
Inferred/Partial | Mentioned in AGENTS.md, but typed settings primarily use YAML or nested Pydantic env vars. |
ANUVA__... nested keys |
Implemented by Pydantic Settings | env_prefix="ANUVA_" and env_nested_delimiter="__" are configured. |
Do not store token values, cookies, Authorization headers, passwords, private keys, or signed URL query strings in YAML or committed files.
Defaults
| Setting | Default | Source |
|---|---|---|
| Worker root | C:\Anuva\Worker |
DEFAULT_WORKER_ROOT |
| Config path | C:\Anuva\Worker\config\worker.yaml |
DEFAULT_CONFIG_PATH |
| Web App mode/base URL | real, https://anuva.example.com |
WebAppSettings |
| Simulator | disabled, 127.0.0.1:7090 |
SimulatorSettings |
| Unity mode | exe |
UnitySettings |
| ZeroMQ | 127.0.0.1:5560/5561/5562 |
ZmqSettings |
| Content server | https://127.0.0.1:7443 |
ContentServerSettings |
| Dashboard | http://127.0.0.1:7080 |
DashboardServerSettings |
| Upload | signed_s3, timeout 120s |
UploadSettings |
| Output minimum size | 100000 bytes |
OutputSettings |
| Logging | JSON logs, C:\Anuva\Worker\logs, retain 14 days |
LoggingSettings |
Local Versus Cloud Assumptions
| Environment | Status | Notes |
|---|---|---|
| Local Windows development | Implemented/Partial | Launcher scripts and configs in docs target C:/Anuva/Worker. |
| Unity Editor Play Mode | Partial | Python waits for Unity readiness; Unity side is external. |
| Unity EXE mode | Partial | Python launches EXE and passes stable args; real graphics/session behavior is external. |
| AWS/Windows GPU VM | Planned/Partial | Operations docs cover NSSM and interactive session requirements; deployment automation is not implemented here. |
| macOS/Linux | Partial | Code is cross-platform in structure, but Windows is primary and Unity/NSSM assumptions are Windows-oriented. |
Runtime Prerequisites
| Tool/service | Needed for | Status |
|---|---|---|
| Python 3.11+ | Package runtime | Implemented in pyproject.toml. |
| OpenSSL | cert generate-local |
External prerequisite. |
| ffmpeg | Thumbnail generation; fallback writes placeholder if unavailable | External prerequisite. |
| ffprobe | Optional strict output validation | External prerequisite. |
| Unity Editor or EXE | Rendering | External prerequisite. |
| Real Web App | Production job source | External prerequisite. |
| NSSM | Windows service helper | External prerequisite. |
State map: EnvAndServices, ScriptsAndCommands.