> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentarea.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Environment variable migration

# Environment variable migration

Every variable AgentArea reads is now `AGENTAREA_<DOMAIN>_<KEY>`. The old names
are not accepted: there is no alias and no fallback, so a stale name is ignored
rather than silently honoured. Update `.env` and your Helm values in one pass
before upgrading — see [Configuration](/self-host/configuration) for the scheme
itself.

Three shapes of change appear below:

* **Renamed** — same value, new name. Most rows.
* **Merged** — two old names collapsed onto one new name, because they always
  carried the same value. `ACTIVATION_PORT` and `AGENTAREA_EVENTS_PORT` both
  become `PORT`.
* **Retyped** — durations now carry their unit in the value. `TTL`, `TIMEOUT`,
  `INTERVAL` and `GRACE` variables take `30s`, `5m`, `2h`; a bare number is
  rejected. `AGENTAREA_SANDBOX_MAX_EXEC_SECONDS` and `AGENTAREA_SANDBOX_EXEC_SECONDS`
  are the exceptions and still take plain integer seconds.

Names left unprefixed belong to a third party — the postgres image, the AWS
SDK, OpenTelemetry, the Ory SDK, the Next.js build, and the `PORT`/`HOST` pair
the platform injects. Those are unchanged. Two of our settings moved onto such a
contract instead of getting a prefix: the Temporal connection is
`TEMPORAL_ADDRESS` / `TEMPORAL_NAMESPACE` (plus `TEMPORAL_API_KEY` and
`TEMPORAL_TLS_*` when needed), which the Temporal SDK reads itself, and the
execution cluster is the standard `KUBECONFIG`.

## Removed

These were read by nothing, or were a second way to say something already
configured. Delete them; there is no replacement.

| Removed | Why |
| - | - |
| `ENCRYPTION_KEY` | Never read. The live key is `AGENTAREA_SECRET_ENCRYPTION_KEY`. |
| `MINIO_ACCESS_KEY`, `MINIO_SECRET_KEY`, `MINIO_REGION` | Kept "for local scripts"; no such script exists. |
| `MCP_MANAGER_BASE_URL`, `MCP_MANAGER_API_KEY`, `MCP_MANAGER_TIMEOUT`, `MCP_MANAGER_MAX_RETRIES` | A second, never-set channel for the address `AGENTAREA_MCP_MANAGER_URL` already carries. |
| `RELOAD` | Was never wired to the `--reload` option. Reload stays a local flag. |
| `LLM_DOCKER_HOST` | Set for the worker in compose; only integration tests read it. |
| `TASK__*` (all nine) | The whole task-execution settings class was unread. |
| `TRIGGER_TRIGGER_*`, `TRIGGER_ENABLE_WEBHOOK_VALIDATION`, `TRIGGER_ENABLE_TRIGGER_*` and the rest (16 of 21) | Unreachable through the double prefix, and unread besides. |
| `TRIGGER_TEMPORAL_SCHEDULE_NAMESPACE` | Trigger schedules live in the same namespace as everything else, `TEMPORAL_NAMESPACE`. |
| `WORKFLOW__TEMPORAL_MAX_WORKFLOW_DURATION_DAYS`, `WORKFLOW__AGENT_VALIDATION_TIMEOUT_MINUTES`, `WORKFLOW__AGENT_EXECUTION_TIMEOUT_HOURS`, `WORKFLOW__DYNAMIC_ACTIVITY_TIMEOUT_MINUTES` | Declared but never consumed. |
| `WORKFLOW__USE_WORKFLOW_EXECUTION`, `WORKFLOW__WORKFLOW_ENGINE` | Set by the chart; no binary ever read them. |
| `ACCESS_CONTROL_KETO_READ_URL`, `ACCESS_CONTROL_KETO_WRITE_URL` | Keto support was removed; OpenFGA is the only authorization graph. |
| `MCP_ALLOWED_IMAGE_REPOSITORIES`, `MCP_ALLOWED_COMMAND_PACKAGES` | The admission allowlists were removed; `command` connections run on the mcp-base image. |
| `MCP_OAUTH_CLIENT_ID`, `MCP_OAUTH_CLIENT_SECRET` | Nothing reads them since the global fallback OAuth client was removed. |
| `SKIP_INSTANCE_SYNC` | Nothing reads it; the gateway owns instance sync. |
| `SANDBOX_WORKSPACE_S3_CREDENTIAL`, `SANDBOX_WORKSPACE_S3_CREDENTIAL_TOKEN` | Nothing reads them. The activation service still refuses to pass anything named `AGENTAREA_SANDBOX_S3_CREDENTIAL*` into a sandbox. |
| `WEB_FETCH_BASE_URL` | Agents read pages directly through the outbound-safe client; there is no fetch service to point at. |
| `DATABASE_URL` | A second way to name the database next to `AGENTAREA_DB_HOST` / `_PORT` / `_USER` / `_PASSWORD` / `_NAME` / `_SSLMODE`, and the Go services disagreed on which one won. Every service now reads only the parts. |
| `API_HOST`, `API_PORT`, `API_AUTH_ENABLED`, `API_AUTH_HEADER_NAME`, `API_AUTH_HEADER_VALUE`, `HEALTH_CHECK_ENABLED`, `HEALTH_CHECK_PORT` | Set by the Helm chart; nothing has read them. The API listens on `PORT` and serves `/health` there. |
| `REDIS_HOST`, `REDIS_PORT`, `REDIS_PASSWORD` | Only `AGENTAREA_REDIS_URL` is read. The Helm chart still assembles it from host, port and password internally. |

## Renamed

### Database

| Was | Is |
| - | - |
| `POSTGRES_DB` | `AGENTAREA_DB_NAME` |
| `POSTGRES_HOST` | `AGENTAREA_DB_HOST` |
| `POSTGRES_PASSWORD` | `AGENTAREA_DB_PASSWORD` |
| `POSTGRES_PORT` | `AGENTAREA_DB_PORT` |
| `POSTGRES_SSLMODE` | `AGENTAREA_DB_SSLMODE` |
| `POSTGRES_USER` | `AGENTAREA_DB_USER` |

### Object storage

| Was | Is |
| - | - |
| `ARTIFACTS_BUCKET_NAME` | `AGENTAREA_S3_ARTIFACTS_BUCKET` |
| `AWS_ACCESS_KEY_ID` | `AGENTAREA_S3_ACCESS_KEY` |
| `AWS_ENDPOINT_URL` | `AGENTAREA_S3_ENDPOINT` |
| `AWS_REGION` | `AGENTAREA_S3_REGION` |
| `AWS_SECRET_ACCESS_KEY` | `AGENTAREA_S3_SECRET_KEY` |
| `PUBLIC_S3_ENDPOINT` | `AGENTAREA_S3_PUBLIC_ENDPOINT` |
| `S3_BUCKET_NAME` | `AGENTAREA_S3_BUCKET` |

### Authentication

| Was | Is |
| - | - |
| `HYDRA_ADMIN_URL` | `AGENTAREA_AUTH_HYDRA_ADMIN_URL` |
| `HYDRA_BROWSER_URL` | `AGENTAREA_AUTH_HYDRA_BROWSER_URL` |
| `HYDRA_PUBLIC_URL` | `AGENTAREA_AUTH_HYDRA_URL` |
| `KRATOS_ADMIN_URL` | `AGENTAREA_AUTH_KRATOS_ADMIN_URL` |
| `KRATOS_AUDIENCE` | `AGENTAREA_AUTH_AUDIENCE` |
| `KRATOS_ADMIN_URL` | `AGENTAREA_AUTH_KRATOS_ADMIN_URL` |
| `KRATOS_ISSUER` | `AGENTAREA_AUTH_ISSUER` |
| `KRATOS_JWKS_B64` | `AGENTAREA_AUTH_JWKS_B64` |
| `KRATOS_PUBLIC_URL` | `AGENTAREA_AUTH_KRATOS_URL` |
| `KRATOS_URL` | `AGENTAREA_AUTH_KRATOS_URL` |
| `KRATOS_WHOAMI_TIMEOUT_MS` | `AGENTAREA_AUTH_WHOAMI_TIMEOUT` |
| `MCP_OAUTH_SCOPES` | `AGENTAREA_MCP_OAUTH_SCOPES` |
| `ORY_ADMIN_URL` | `AGENTAREA_AUTH_KRATOS_ADMIN_URL` |
| `ORY_HYDRA_ADMIN_URL` | `AGENTAREA_AUTH_HYDRA_ADMIN_URL` |

### Authorization

| Was | Is |
| - | - |
| `ACCESS_CONTROL_BACKEND` | `AGENTAREA_AUTHZ_BACKEND` |
| `ACCESS_CONTROL_OPENFGA_API_URL` | `AGENTAREA_AUTHZ_FGA_URL` |
| `ACCESS_CONTROL_OPENFGA_AUTHORIZATION_MODEL_ID` | `AGENTAREA_AUTHZ_FGA_MODEL_ID` |
| `ACCESS_CONTROL_OPENFGA_AUTO_APPLY_MODEL` | `AGENTAREA_AUTHZ_FGA_APPLY_MODEL` |
| `ACCESS_CONTROL_OPENFGA_AUTO_BOOTSTRAP` | `AGENTAREA_AUTHZ_FGA_BOOTSTRAP` |
| `ACCESS_CONTROL_OPENFGA_MODEL_PATH` | `AGENTAREA_AUTHZ_FGA_MODEL_PATH` |
| `ACCESS_CONTROL_OPENFGA_STORE_ID` | `AGENTAREA_AUTHZ_FGA_STORE_ID` |
| `ACCESS_CONTROL_OPENFGA_STORE_NAME` | `AGENTAREA_AUTHZ_FGA_STORE_NAME` |
| `ACCESS_CONTROL_OPENFGA_TIMEOUT_SECONDS` | `AGENTAREA_AUTHZ_FGA_TIMEOUT` |
| `ACCESS_CONTROL_OPENFGA_API_TOKEN` | `AGENTAREA_AUTHZ_FGA_API_TOKEN` |

### Secret manager

| Was | Is |
| - | - |
| `INFISICAL_ENVIRONMENT` | `AGENTAREA_SECRET_ENV` |
| `INFISICAL_PROJECT_ID` | `AGENTAREA_SECRET_PROJECT_ID` |
| `INFISICAL_TOKEN_PATH` | `AGENTAREA_SECRET_TOKEN_PATH` |
| `INFISICAL_URL` | `AGENTAREA_SECRET_ENDPOINT` |
| `SECRET_MANAGER_ACCESS_KEY` | `AGENTAREA_SECRET_CLIENT_ID` |
| `SECRET_MANAGER_ENCRYPTION_KEY` | `AGENTAREA_SECRET_ENCRYPTION_KEY` |
| `SECRET_MANAGER_ENDPOINT` | `AGENTAREA_SECRET_ENDPOINT` |
| `SECRET_MANAGER_SECRET_KEY` | `AGENTAREA_SECRET_CLIENT_SECRET` |
| `SECRET_MANAGER_TYPE` | `AGENTAREA_SECRET_BACKEND` |

### MCP

| Was | Is |
| - | - |
| `ALLOW_PRIVATE_URLS` | `AGENTAREA_HTTP_ALLOW_PRIVATE` |
| `BACKEND_TYPE` | `AGENTAREA_MCP_BACKEND` |
| `CONTAINER_MANAGED_BY_LABEL` | `AGENTAREA_MCP_LABEL` |
| `CONTAINER_NAME_PREFIX` | `AGENTAREA_MCP_NAME_PREFIX` |
| `CONTAINER_RUNTIME` | `AGENTAREA_MCP_RUNTIME` |
| `CORS_ENABLED` | `AGENTAREA_MCP_CORS_ENABLED` |
| `DEBUG` | `AGENTAREA_DEBUG` |
| `DEFAULT_CPU_LIMIT` | `AGENTAREA_MCP_CPU` |
| `DEFAULT_ISOLATION_TIER` | `AGENTAREA_MCP_ISOLATION` |
| `DEFAULT_MEMORY_LIMIT` | `AGENTAREA_MCP_MEMORY` |
| `MAX_CONTAINERS` | `AGENTAREA_MCP_MAX_CONTAINERS` |
| `MAX_CPU_LIMIT` | `AGENTAREA_MCP_MAX_CPU` |
| `MAX_MEMORY_LIMIT` | `AGENTAREA_MCP_MAX_MEMORY` |
| `MCP_BACKEND_TYPE` | `AGENTAREA_MCP_BACKEND` |
| `MCP_CLIENT_TIMEOUT` | `AGENTAREA_MCP_TIMEOUT` |
| `MCP_DATAPLANE_ALLOW_INSECURE` | `AGENTAREA_MCP_DATAPLANE_INSECURE` |
| `MCP_DATAPLANE_AUTH_TOKEN` | `AGENTAREA_MCP_DATAPLANE_TOKEN` |
| `MCP_DATAPLANE_ID` | `AGENTAREA_MCP_DATAPLANE_ID` |
| `MCP_DATAPLANE_LISTEN_ADDR` | `AGENTAREA_MCP_DATAPLANE_ADDR` |
| `MCP_DATAPLANE_URL` | `AGENTAREA_MCP_DATAPLANE_URL` |
| `MCP_FEATURES_ENABLED` | `AGENTAREA_MCP_FEATURES` |
| `MCP_FEATURE_<NAME>` | `AGENTAREA_MCP_FEATURE_<NAME>` |
| `MCP_GATEWAY_AUTH_SECRET` | `AGENTAREA_MCP_GATEWAY_SECRET` |
| `MCP_GATEWAY_STARTUP_TIMEOUT` | `AGENTAREA_MCP_STARTUP_TIMEOUT` |
| `MCP_IDLE_SWEEP_INTERVAL` | `AGENTAREA_MCP_SWEEP_INTERVAL` |
| `MCP_IDLE_TIMEOUT` | `AGENTAREA_MCP_IDLE_TIMEOUT` |
| `MCP_MANAGER_MODE` | `AGENTAREA_MCP_MODE` |
| `MCP_MANAGER_URL` | `AGENTAREA_MCP_MANAGER_URL` |
| `MCP_NETWORK` | `AGENTAREA_MCP_NETWORK` |
| `MCP_REQUEST_LEASE_TTL` | `AGENTAREA_MCP_LEASE_TTL` |
| `APPS_SANDBOX_ORIGIN` | `AGENTAREA_MCP_APPS_ORIGIN` |
| `MCP_APP_TIMEOUT_MS` | `AGENTAREA_MCP_APP_TIMEOUT` |

### Sandbox

| Was | Is |
| - | - |
| `AGENTAREA_EXEC_SUPERVISOR_ALLOW_NON_LINUX_TEST` | `AGENTAREA_SANDBOX_SUPERVISE_NON_LINUX` |
| `EXEC_SUPERVISOR_PATH` | `AGENTAREA_SANDBOX_SUPERVISOR_PATH` |
| `IDLE_TIMEOUT_SECONDS` | `AGENTAREA_SANDBOX_IDLE_SHUTDOWN` |
| `MANAGED_ENVIRONMENT` | `AGENTAREA_SANDBOX_MANAGED_ENV` |
| `MAX_EXECUTION_TIMEOUT_SECONDS` | `AGENTAREA_SANDBOX_MAX_EXEC_SECONDS` |
| `RUNTIME_MANIFEST_PATH` | `AGENTAREA_SANDBOX_MANIFEST_PATH` |
| `RUNTIME_VERSION` | `AGENTAREA_SANDBOX_RUNTIME_VERSION` |
| `SANDBOX_ACTIVATION_AUTH_SECRET` | `AGENTAREA_SANDBOX_ACTIVATION_SECRET` |
| `SANDBOX_ALLOW_INTERNET` | `AGENTAREA_SANDBOX_ALLOW_INTERNET` |
| `SANDBOX_CLEANUP_AUTH_SECRET` | `AGENTAREA_SANDBOX_CLEANUP_SECRET` |
| `SANDBOX_COMMAND_GID` | `AGENTAREA_SANDBOX_GID` |
| `SANDBOX_COMMAND_UID` | `AGENTAREA_SANDBOX_UID` |
| `SANDBOX_CONTROL_AUTH_SECRET` | `AGENTAREA_SANDBOX_CONTROL_SECRET` |
| `SANDBOX_CONTROL_REDIS_PREFIX` | `AGENTAREA_SANDBOX_REDIS_PREFIX` |
| `SANDBOX_CUBE_ALLOW_INSECURE` | `AGENTAREA_SANDBOX_CUBE_INSECURE` |
| `SANDBOX_CUBE_API_KEY` | `AGENTAREA_SANDBOX_CUBE_API_KEY` |
| `SANDBOX_CUBE_API_URL` | `AGENTAREA_SANDBOX_CUBE_URL` |
| `SANDBOX_CUBE_ATTESTATION_PATH` | `AGENTAREA_SANDBOX_CUBE_ATTESTATION` |
| `SANDBOX_CUBE_ISOLATION` | `AGENTAREA_SANDBOX_CUBE_ISOLATION` |
| `SANDBOX_CUBE_RUNTIME_IDENTITY` | `AGENTAREA_SANDBOX_CUBE_IDENTITY` |
| `SANDBOX_CUBE_SANDBOX_URL` | `AGENTAREA_SANDBOX_CUBE_SANDBOX_URL` |
| `SANDBOX_CUBE_TEMPLATE` | `AGENTAREA_SANDBOX_CUBE_TEMPLATE` |
| `SANDBOX_DEFAULT_EXECUTION_TIMEOUT_SECONDS` | `AGENTAREA_SANDBOX_EXEC_SECONDS` |
| `SANDBOX_E2B_ALLOW_INSECURE` | `AGENTAREA_SANDBOX_E2B_INSECURE` |
| `SANDBOX_E2B_API_KEY` | `AGENTAREA_SANDBOX_E2B_API_KEY` |
| `SANDBOX_E2B_API_URL` | `AGENTAREA_SANDBOX_E2B_URL` |
| `SANDBOX_E2B_ATTESTATION_PATH` | `AGENTAREA_SANDBOX_E2B_ATTESTATION` |
| `SANDBOX_E2B_ISOLATION` | `AGENTAREA_SANDBOX_E2B_ISOLATION` |
| `SANDBOX_E2B_RUNTIME_IDENTITY` | `AGENTAREA_SANDBOX_E2B_IDENTITY` |
| `SANDBOX_E2B_SANDBOX_URL` | `AGENTAREA_SANDBOX_E2B_SANDBOX_URL` |
| `SANDBOX_E2B_TEMPLATE` | `AGENTAREA_SANDBOX_E2B_TEMPLATE` |
| `SANDBOX_EMBEDDED_RUNNER` | `AGENTAREA_SANDBOX_EMBEDDED_RUNNER` |
| `SANDBOX_EXECUTION_COMPLETION_GRACE` | `AGENTAREA_SANDBOX_COMPLETION_GRACE` |
| `SANDBOX_EXECUTION_EVENT_STREAM` | `AGENTAREA_SANDBOX_EVENT_STREAM` |
| `SANDBOX_EXECUTION_QUEUE_TIMEOUT` | `AGENTAREA_SANDBOX_QUEUE_TIMEOUT` |
| `SANDBOX_EXECUTION_RECORD_TTL` | `AGENTAREA_SANDBOX_RECORD_TTL` |
| `SANDBOX_EXECUTION_REQUEST_STREAM` | `AGENTAREA_SANDBOX_REQUEST_STREAM` |
| `SANDBOX_EXECUTOR_URL` | `AGENTAREA_SANDBOX_EXECUTOR_URL` |
| `SANDBOX_FILE_AUTH_SECRET` | `AGENTAREA_SANDBOX_FILE_SECRET` |
| `SANDBOX_INSPECTION_AUTH_SECRET` | `AGENTAREA_SANDBOX_INSPECT_SECRET` |
| `CONTAINER_INSPECTION_AUTH_SECRET` | `AGENTAREA_MCP_INSPECT_SECRET` |
| `SANDBOX_MAX_EXECUTION_TIMEOUT_SECONDS` | `AGENTAREA_SANDBOX_MAX_EXEC_SECONDS` |
| `SANDBOX_OPENSANDBOX_ALLOW_INSECURE` | `AGENTAREA_SANDBOX_OSB_INSECURE` |
| `SANDBOX_OPENSANDBOX_ALLOW_WEAK_ISOLATION_FOR_DEVELOPMENT` | `AGENTAREA_SANDBOX_OSB_WEAK_ISOLATION` |
| `SANDBOX_OPENSANDBOX_API_KEY` | `AGENTAREA_SANDBOX_OSB_API_KEY` |
| `SANDBOX_OPENSANDBOX_AUTH_HEADER` | `AGENTAREA_SANDBOX_OSB_AUTH_HEADER` |
| `SANDBOX_OPENSANDBOX_EGRESS_MODE` | `AGENTAREA_SANDBOX_OSB_EGRESS` |
| `SANDBOX_OPENSANDBOX_ENTRYPOINT` | `AGENTAREA_SANDBOX_OSB_ENTRYPOINT` |
| `SANDBOX_OPENSANDBOX_IMAGE` | `AGENTAREA_SANDBOX_OSB_IMAGE` |
| `SANDBOX_OPENSANDBOX_ISOLATION` | `AGENTAREA_SANDBOX_OSB_ISOLATION` |
| `SANDBOX_OPENSANDBOX_RUNTIME_IDENTITY` | `AGENTAREA_SANDBOX_OSB_IDENTITY` |
| `SANDBOX_OPENSANDBOX_SECURE_ACCESS` | `AGENTAREA_SANDBOX_OSB_SECURE_ACCESS` |
| `SANDBOX_OPENSANDBOX_URL` | `AGENTAREA_SANDBOX_OSB_URL` |
| `SANDBOX_OPENSANDBOX_USE_SERVER_PROXY` | `AGENTAREA_SANDBOX_OSB_SERVER_PROXY` |
| `SANDBOX_PROVIDER` | `AGENTAREA_SANDBOX_PROVIDER` |
| `SANDBOX_PROVIDER_CPU` | `AGENTAREA_SANDBOX_CPU` |
| `SANDBOX_PROVIDER_MEMORY` | `AGENTAREA_SANDBOX_MEMORY` |
| `SANDBOX_PROVIDER_PROVISIONING_TIMEOUT` | `AGENTAREA_SANDBOX_PROVISION_TIMEOUT` |
| `SANDBOX_PROVIDER_SESSION_TTL` | `AGENTAREA_SANDBOX_SESSION_TTL` |
| `SANDBOX_REGION` | `AGENTAREA_SANDBOX_REGION` |
| `SANDBOX_TASK_GC_INTERVAL` | `AGENTAREA_SANDBOX_TASK_GC_INTERVAL` |
| `MCP_BASE_IMAGE` | `AGENTAREA_MCP_BASE_IMAGE` |
| `MCP_PACKAGE_REPOSITORY` | `AGENTAREA_MCP_PACKAGE_REPO` |
| `MCP_PACKAGE_IMPORT_TIMEOUT` | `AGENTAREA_MCP_IMPORT_TIMEOUT` |
| `STORAGE_CORS_ALLOWED_ORIGINS` | `AGENTAREA_S3_CORS_ORIGINS` |
| `STORAGE_BUCKETS` | `AGENTAREA_S3_BUCKETS` |
| `MCP_PYPI_URL` | `AGENTAREA_MCP_PYPI_URL` |
| `MCP_NPM_REGISTRY_URL` | `AGENTAREA_MCP_NPM_REGISTRY` |
| `SANDBOX_RUNNER_BATCH_SIZE` | `AGENTAREA_SANDBOX_BATCH_SIZE` |
| `SANDBOX_RUNNER_CONSUMER_GROUP` | `AGENTAREA_SANDBOX_CONSUMER_GROUP` |
| `SANDBOX_RUNTIME_MANIFEST_JSON` | `AGENTAREA_SANDBOX_MANIFEST_JSON` |
| `SANDBOX_RUNTIME_MANIFEST_PATH` | `AGENTAREA_SANDBOX_MANIFEST_PATH` |
| `SANDBOX_SHARED_EXECUTOR_ALLOW_WEAK_ISOLATION_FOR_DEVELOPMENT` | `AGENTAREA_SANDBOX_ALLOW_WEAK_ISOLATION` |
| `SANDBOX_TASK_IDLE_TTL` | `AGENTAREA_SANDBOX_IDLE_TTL` |
| `SANDBOX_TASK_LEASE_TTL` | `AGENTAREA_SANDBOX_LEASE_TTL` |
| `SANDBOX_WORKSPACE_MAX_BYTES` | `AGENTAREA_SANDBOX_MAX_TOTAL_SIZE` |
| `SANDBOX_WORKSPACE_MAX_FILES` | `AGENTAREA_SANDBOX_MAX_FILES` |
| `SANDBOX_WORKSPACE_MAX_FILE_BYTES` | `AGENTAREA_SANDBOX_MAX_FILE_SIZE` |
| `SANDBOX_WORKSPACE_PROVIDER` | `AGENTAREA_SANDBOX_STORAGE` |
| `SANDBOX_WORKSPACE_S3_BUCKET` | `AGENTAREA_SANDBOX_S3_BUCKET` |
| `SANDBOX_WORKSPACE_S3_ENDPOINT` | `AGENTAREA_SANDBOX_S3_ENDPOINT` |
| `SANDBOX_WORKSPACE_S3_FORCE_PATH_STYLE` | `AGENTAREA_SANDBOX_S3_PATH_STYLE` |
| `SANDBOX_WORKSPACE_S3_PREFIX` | `AGENTAREA_SANDBOX_S3_PREFIX` |
| `SANDBOX_WORKSPACE_S3_REGION` | `AGENTAREA_SANDBOX_S3_REGION` |
| `SANDBOX_WORKSPACE_SIGNED_URL_TTL` | `AGENTAREA_SANDBOX_S3_URL_TTL` |
| `WORKSPACE_ROOT` | `AGENTAREA_SANDBOX_ROOT` |
| `SANDBOX_PROVIDER_CPU_REQUEST` | `AGENTAREA_SANDBOX_CPU_REQUEST` |
| `SANDBOX_PROVIDER_MEMORY_REQUEST` | `AGENTAREA_SANDBOX_MEMORY_REQUEST` |
| `SANDBOX_PROVIDER_STORAGE_LIMIT` | `AGENTAREA_SANDBOX_DISK_LIMIT` |
| `SANDBOX_PROVIDER_STORAGE_REQUEST` | `AGENTAREA_SANDBOX_DISK_REQUEST` |

### Temporal

| Was | Is |
| - | - |
| `EXECUTION_ENGINE` | `AGENTAREA_TASK_EXECUTOR` |
| `WORKFLOW__EXECUTION_ENGINE` | `AGENTAREA_TASK_EXECUTOR` |
| `WORKFLOW__TEMPORAL_MAX_CONCURRENT_ACTIVITIES` | `AGENTAREA_TEMPORAL_MAX_ACTIVITIES` |
| `WORKFLOW__TEMPORAL_NAMESPACE` | `TEMPORAL_NAMESPACE` |
| `WORKFLOW__TEMPORAL_SERVER_URL` | `TEMPORAL_ADDRESS` |
| `WORKFLOW__TEMPORAL_TASK_QUEUE` | `AGENTAREA_TEMPORAL_QUEUE` |
| `WORKFLOW__TEMPORAL_MAX_CONCURRENT_WORKFLOWS` | `AGENTAREA_TEMPORAL_MAX_WORKFLOWS` |
| `WORKFLOW__TEMPORAL_GRACEFUL_SHUTDOWN_SECONDS` | `AGENTAREA_TEMPORAL_SHUTDOWN_GRACE` (now a duration: `120s`) |
| `WORKFLOW__TEMPORAL_MAX_CACHED_WORKFLOWS` | `AGENTAREA_TEMPORAL_MAX_CACHED` |

### Tasks

| Was | Is |
| - | - |
| `AGENT_DELEGATION_POLL_TIMEOUT` | `AGENTAREA_TASK_DELEGATION_TIMEOUT` |

### Triggers

| Was | Is |
| - | - |
| `TRIGGERS_WEBHOOK_BASE_URL`, `TRIGGER_WEBHOOK_BASE_URL` | `AGENTAREA_TRIGGER_WEBHOOK_URL` |
| `TRIGGER_WEBHOOK_RATE_LIMIT_PER_MINUTE` | `AGENTAREA_TRIGGER_WEBHOOK_RATE` |
| `TRIGGER_TEMPORAL_SCHEDULE_TASK_QUEUE` | `AGENTAREA_TRIGGER_QUEUE` |
| `TRIGGER_ENABLE_LLM_CONDITIONS` | `AGENTAREA_TRIGGER_LLM_ENABLED` |

### Channel delivery

| Was | Is |
| - | - |
| `CHANNEL_DELIVERY_INBOUND_STREAM` | `AGENTAREA_CHANNEL_IN_STREAM` |
| `CHANNEL_DELIVERY_INBOUND_GROUP` | `AGENTAREA_CHANNEL_IN_GROUP` |
| `CHANNEL_DELIVERY_INBOUND_DLQ` | `AGENTAREA_CHANNEL_IN_DLQ` |
| `CHANNEL_DELIVERY_OUTBOUND_STREAM` | `AGENTAREA_CHANNEL_OUT_STREAM` |
| `CHANNEL_DELIVERY_OUTBOUND_GROUP` | `AGENTAREA_CHANNEL_OUT_GROUP` |
| `CHANNEL_DELIVERY_OUTBOUND_DLQ` | `AGENTAREA_CHANNEL_OUT_DLQ` |
| `CHANNEL_DELIVERY_AUTOCLAIM_MIN_IDLE_MS` | `AGENTAREA_CHANNEL_AUTOCLAIM_IDLE` |
| `CHANNEL_DELIVERY_AUTOCLAIM_INTERVAL_SECONDS` | `AGENTAREA_CHANNEL_AUTOCLAIM_EVERY` |
| `CHANNEL_DELIVERY_DEDUP_TTL_SECONDS` | `AGENTAREA_CHANNEL_DEDUP_TTL` |
| `CHANNEL_DELIVERY_CONSUMER_BLOCK_MS` | `AGENTAREA_CHANNEL_BLOCK` |
| `CHANNEL_DELIVERY_CONSUMER_BATCH_SIZE` | `AGENTAREA_CHANNEL_BATCH_SIZE` |
| `CHANNEL_DELIVERY_MAX_DELIVERY_ATTEMPTS` | `AGENTAREA_CHANNEL_MAX_ATTEMPTS` |

### Event service

| Was | Is |
| - | - |
| `AGENTAREA_EVENTS_INBOUND_STREAM` | `AGENTAREA_EVENT_STREAM` |
| `AGENTAREA_EVENTS_MAX_POLLERS` | `AGENTAREA_EVENT_MAX_POLLERS` |
| `AGENTAREA_EVENTS_POLL_INTERVAL` | `AGENTAREA_EVENT_POLL_INTERVAL` |
| `AGENTAREA_EVENTS_TELEGRAM_POLLING_ENABLED` | `AGENTAREA_EVENT_TELEGRAM_ENABLED` |
| `AGENTAREA_EVENTS_WORKER_ID` | `AGENTAREA_EVENT_WORKER_ID` |
| `MAX_POLLERS` | `AGENTAREA_EVENT_MAX_POLLERS` |
| `POLL_INTERVAL` | `AGENTAREA_EVENT_POLL_INTERVAL` |

### CORS

| Was | Is |
| - | - |
| `CORS_ALLOWED_ORIGINS` | `AGENTAREA_CORS_ORIGINS` |
| `CORS_ALLOW_CREDENTIALS` | `AGENTAREA_CORS_CREDENTIALS` |

### Metrics

| Was | Is |
| - | - |
| `METRICS_ENABLED` | `AGENTAREA_METRICS_ENABLED` |
| `METRICS_PORT` | `AGENTAREA_METRICS_PORT` |

### Logging

| Was | Is |
| - | - |
| `LOG_FORMAT` | `AGENTAREA_LOG_FORMAT` |
| `LOG_LEVEL` | `AGENTAREA_LOG_LEVEL` |
| `LOG_WORKLOAD_OUTPUT` | `AGENTAREA_LOG_WORKLOAD` |

### Redis

| Was | Is |
| - | - |
| `REDIS_URL` | `AGENTAREA_REDIS_URL` |

### Kubernetes backend

| Was | Is |
| - | - |
| `K8S_IMAGE_PULL_POLICY` | `AGENTAREA_K8S_PULL_POLICY` |
| `KUBERNETES_ALLOW_PRIVILEGE_ESCALATION` | `AGENTAREA_K8S_PRIV_ESCALATION` |
| `KUBERNETES_CERT_MANAGER_CLUSTER_ISSUER` | `AGENTAREA_K8S_CLUSTER_ISSUER` |
| `KUBERNETES_CERT_MANAGER_ENABLED` | `AGENTAREA_K8S_CERT_MANAGER` |
| `KUBERNETES_DEFAULT_CPU_LIMIT` | `AGENTAREA_K8S_CPU_LIMIT` |
| `KUBERNETES_DEFAULT_CPU_REQUEST` | `AGENTAREA_K8S_CPU_REQUEST` |
| `KUBERNETES_DEFAULT_MEMORY_LIMIT` | `AGENTAREA_K8S_MEMORY_LIMIT` |
| `KUBERNETES_DEFAULT_MEMORY_REQUEST` | `AGENTAREA_K8S_MEMORY_REQUEST` |
| `KUBERNETES_DEPLOYMENT_TIMEOUT` | `AGENTAREA_K8S_DEPLOY_TIMEOUT` |
| `KUBERNETES_DOMAIN` | `AGENTAREA_K8S_DOMAIN` |
| `KUBERNETES_ENABLED` | `AGENTAREA_K8S_ENABLED` |
| `KUBERNETES_GATEWAY_NAME` | `AGENTAREA_K8S_GATEWAY` |
| `KUBERNETES_GATEWAY_NAMESPACE` | `AGENTAREA_K8S_GATEWAY_NS` |
| `KUBERNETES_INGRESS_CLASS` | `AGENTAREA_K8S_INGRESS_CLASS` |
| `KUBERNETES_INSTANCE_POD` | `AGENTAREA_K8S_INSTANCE_POD` |
| `KUBERNETES_KUBECONFIG` | `KUBECONFIG` |
| `KUBERNETES_MONITORING_ENABLED` | `AGENTAREA_K8S_MONITORING` |
| `KUBERNETES_NAMESPACE` | `AGENTAREA_K8S_NAMESPACE` |
| `KUBERNETES_NETWORK_POLICY_ENABLED` | `AGENTAREA_K8S_NETWORK_POLICY` |
| `KUBERNETES_POD_SERVICE_ACCOUNT_NAME` | `AGENTAREA_K8S_SERVICE_ACCOUNT` |
| `KUBERNETES_PROMETHEUS_ENABLED` | `AGENTAREA_K8S_PROMETHEUS` |
| `KUBERNETES_READINESS_TIMEOUT` | `AGENTAREA_K8S_READY_TIMEOUT` |
| `KUBERNETES_READ_ONLY_ROOT_FS` | `AGENTAREA_K8S_READONLY_ROOT` |
| `KUBERNETES_RUNTIME_CLASS` | `AGENTAREA_K8S_RUNTIME_CLASS` |
| `KUBERNETES_RUN_AS_NON_ROOT` | `AGENTAREA_K8S_NON_ROOT` |
| `KUBERNETES_RUN_AS_USER` | `AGENTAREA_K8S_RUN_AS_USER` |
| `KUBERNETES_SECURITY_READ_ONLY_ROOT_FS` | `AGENTAREA_K8S_READONLY_ROOT` |
| `KUBERNETES_SECURITY_RUN_AS_NON_ROOT` | `AGENTAREA_K8S_NON_ROOT` |
| `KUBERNETES_SERVICE_MONITOR_ENABLED` | `AGENTAREA_K8S_SERVICE_MONITOR` |
| `KUBERNETES_STORAGE_CLASS` | `AGENTAREA_K8S_STORAGE_CLASS` |
| `KUBERNETES_TLS_ENABLED` | `AGENTAREA_K8S_TLS` |
| `KUBERNETES_TLS_SECRET_NAME` | `AGENTAREA_K8S_TLS_SECRET` |

### Application

| Was | Is |
| - | - |
| `API_BASE_URL` | `AGENTAREA_API_URL` |
| `API_TIMEOUT` | `AGENTAREA_API_TIMEOUT` |
| `API_URL` | `AGENTAREA_API_URL` |
| `APP_URL` | `AGENTAREA_APP_URL` |
| `BACKEND_ENVIRONMENT` | `AGENTAREA_ENV` |
| `CORE_API_URL` | `AGENTAREA_API_URL` |
| `DEPLOYMENT_MODE` | `AGENTAREA_EDITION` |
| `ENVIRONMENT` | `AGENTAREA_ENV` |
| `LOCAL_HOST` | `AGENTAREA_LOCAL_HOST` |
| `MAX_REQUEST_BODY_BYTES` | `AGENTAREA_API_MAX_BODY` |
| `MAX_RETRIES` | `AGENTAREA_MAX_RETRIES` |
| `OTEL_ENABLED` | `AGENTAREA_OTEL_ENABLED` |
| `RETRY_DELAY` | `AGENTAREA_RETRY_DELAY` |
| `SERVER_API_TIMEOUT_MS` | `AGENTAREA_API_TIMEOUT` |
| `SERVER_READ_TIMEOUT` | `AGENTAREA_HTTP_READ_TIMEOUT` |
| `SERVER_WRITE_TIMEOUT` | `AGENTAREA_HTTP_WRITE_TIMEOUT` |
| `SHUTDOWN_TIMEOUT` | `AGENTAREA_SHUTDOWN_TIMEOUT` |
| `STARTUP_TIMEOUT` | `AGENTAREA_STARTUP_TIMEOUT` |
| `STREAM_TIMEOUT` | `AGENTAREA_STREAM_TIMEOUT` |
| `THEME` | `AGENTAREA_THEME` |
| `BILLING_PAGE_URL` | `AGENTAREA_BILLING_PAGE_URL` |
| `WORKERS` | `AGENTAREA_API_WORKERS` |
| `FRONTEND_BASE_URL` | `AGENTAREA_APP_URL` |
| `A2A_AGENT_URL` | `AGENTAREA_A2A_AGENT_URL` |
| `WEB_SEARCH_BASE_URL` | `AGENTAREA_TOOL_SEARCH_URL` |
| `OUTBOUND_PRIVATE_ALLOWLIST` | `AGENTAREA_HTTP_PRIVATE_ALLOWLIST` |
| `WEBAPP_PUBLIC_ORIGIN` | `AGENTAREA_APP_ORIGIN` |

### Listen address

| Was | Is |
| - | - |
| `ACTIVATION_PORT` | `PORT` |
| `AGENTAREA_EVENTS_PORT` | `PORT` |
| `API_BROWSER_URL` | `NEXT_PUBLIC_API_URL` |
| `POSTGRES_READ_HOST` | `HOST` |
| `POSTGRES_READ_PORT` | `PORT` |
| `SERVER_HOST` | `HOST` |
| `SERVER_PORT` | `PORT` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.