Server overrides
-
AION_STORE_BACKEND - Override store.backend.
-
AION_STORE_URL - Removed libSQL input. Refused; use the haematite backend and data directory.
-
AION_STORE_DATA_DIR - Override store.data_dir.
-
AION_STORE_SHARD_COUNT - Override store.shard_count.
-
AION_STORE_NODE_CACHE_BUDGET - Override store.node_cache_budget.
-
AION_STORE_LOCK_ACQUISITION_PATIENCE_MS - Retired, warned and ignored. The server waits for its writer lock.
-
AION_STORE_LOCK_ACQUISITION_RETRY_CADENCE_MS - Retired, warned and ignored. The server waits for its writer lock.
-
AION_RUNTIME_SCHEDULER_THREADS - Override runtime.scheduler_threads.
-
AION_RUNTIME_JIT_THRESHOLD - Override runtime.jit_threshold.
-
AION_RUNTIME_QUERY_TIMEOUT_MS - Override runtime.query_timeout_ms.
-
AION_RUNTIME_WORKLOOP_SWEEP_INTERVAL_MS - Override runtime.workloop_sweep_interval_ms.
-
AION_RUNTIME_STOP_DRAIN_TIMEOUT_MS - Override runtime.stop_drain_timeout_ms.
-
AION_DRAIN_TIMEOUT_SECONDS - Override drain.timeout_seconds.
-
AION_METRICS_ENABLED - Override metrics.enabled.
-
AION_WEBSOCKET_OUTBOUND_BUFFER_BOUND - Override websocket.outbound_buffer_bound.
-
AION_DEPLOY_ENABLED - Override deploy.enabled.
-
AION_DEPLOY_MAX_ARCHIVE_BYTES - Override deploy.max_archive_bytes.
-
AION_DEPLOY_MAX_INFLATED_BYTES - Override deploy.max_inflated_bytes.
-
AION_DEV_ENABLED - Override dev.enabled.
-
AION_AUTH_ENABLED - Override auth.enabled.
-
AION_AUTH_JWKS_URL - Override auth.jwks_url.
-
AION_AUTH_NAMESPACE_CLAIM - Override auth.namespace_claim.
-
AION_AUTH_LIMINAL_TOKEN_FILE - Override auth.liminal_token_file.
-
AION_AUTH_LIMINAL_NAMESPACE - Override auth.liminal_namespace.
-
AION_AUTH_JWKS_REFRESH_SECONDS - Override auth.jwks_refresh_seconds.
-
AION_AUTH_LYS_ISSUER - Override auth.lys.issuer. Creates [auth.lys] if absent; set all three Lys values and enable auth, or boot is refused.
-
AION_AUTH_LYS_CONNECTOR_CREDENTIAL_FILE - Override auth.lys.connector_credential_file. Creates [auth.lys] if absent; set all three Lys values and enable auth, or boot is refused.
-
AION_AUTH_LYS_DRAFTS_PULL_SECONDS - Override auth.lys.drafts_pull_seconds. Creates [auth.lys] if absent; set all three Lys values and enable auth, or boot is refused.
-
AION_AUTHORING_GLEAM_PATH - Override authoring.gleam_path.
-
AION_AUTHORING_PROJECT_ROOT - Override authoring.project_root.
-
AION_AUTHORING_WORKSPACE_DIR - Override authoring.workspace_dir.
-
AION_NAMESPACES_DEFAULT - Override namespaces.default.
-
AION_WEBSOCKET_EVENT_BROADCAST_CAPACITY - Override websocket.event_broadcast_capacity.
-
AION_WEBSOCKET_CLUSTER_BROADCAST_CAPACITY - Override websocket.cluster_broadcast_capacity.
-
AION_OBSERVABILITY_MAX_EVENT_BYTES - Override observability.max_event_bytes.
-
AION_OBSERVABILITY_MAX_STREAM_EVENTS - Override observability.max_stream_events.
-
AION_OBSERVABILITY_MAX_BATCH_EVENTS - Override observability.max_batch_events.
-
AION_OBSERVABILITY_MAX_BATCH_HOLD_MS - Override observability.max_batch_hold_ms.
-
AION_OUTBOX_ENABLED - Override outbox.enabled.
-
AION_OUTBOX_POLL_INTERVAL_MS - Override outbox.poll_interval_ms.
-
AION_OUTBOX_BATCH_SIZE - Override outbox.batch_size.
-
AION_OUTBOX_MAX_ATTEMPTS - Override outbox.max_attempts.
-
AION_OUTBOX_BACKOFF_BASE_MS - Override outbox.backoff_base_ms.
-
AION_OUTBOX_BACKOFF_MULTIPLIER - Override outbox.backoff_multiplier.
-
AION_OUTBOX_BACKOFF_MAX_MS - Override outbox.backoff_max_ms.
-
AION_OUTBOX_RECONCILE_INTERVAL_MS - Override outbox.reconcile_interval_ms.
-
AION_OUTBOX_RECONCILE_STALE_AFTER_MS - Override outbox.reconcile_stale_after_ms.
-
AION_OUTBOX_LIMINAL_LISTEN_ADDRESS - Override outbox.liminal_listen_address.
-
AION_OUTBOX_LIMINAL_MAX_CONNECTION_OUTBOUND_BYTES - Override outbox.liminal_max_connection_outbound_bytes.
-
AION_SERVER_LISTEN_ADDRESS - Override server.listen_address.
-
AION_SERVER_GRPC_ADDRESS - Removed. Use AION_SERVER_GRPC_ADDRESSES with a comma-separated listener list.
-
AION_SERVER_GRPC_ADDRESSES - Override server.grpc_addresses.
-
AION_SERVER_CORS_ALLOWED_ORIGINS - Override server.cors_allowed_origins.
Positive integers are required for timing and capacity fields unless the field permits zero. Transcript batch hold permits zero. Listener and origin lists are comma-separated; an empty origin list clears it.
Cluster peers, owned shards, queue policies, TLS paths, console source, resolver mode, worker supervision, MCP configuration, assistant accounts and startup package lists are configured in TOML. They do not gain environment variables just because a field name exists.
Home and logging
Aion home is selected separately from the config overlay. The process settings below name the log filters in precedence order. The server emits structured JSON logs.
-
AION_HOME - Explicit Aion home. Otherwise derived as ~/.aion. Set this as a process environment variable.
-
AION_LOG - Structured tracing filter; wins over RUST_LOG.
-
RUST_LOG - Tracing filter used when AION_LOG is absent.
-
AION_TOKEN - CLI bearer source when the token flag is absent.
-
AION_HTTP_ENDPOINT - HTTP/WebSocket listener used by tail and signal --dry-run. Default http://127.0.0.1:8080. Both tail --http-endpoint and signal --http-endpoint override this environment value. Remote commands also need the matching gRPC --endpoint.
-
AION_WORKER_NODE - Optional worker node label, used when the node flag is absent. With neither, the SDK uses the host name.
Client and worker settings
CLI help shows a flag’s environment variable when one exists. A command-line value wins. Worker connection settings must be supplied through the supported flags or environment names; missing values are reported together.
The harness environment allowlist names what the child process receives. It is separate from the worker’s own environment and from the assistant account name mapping.
-
Lys - On main, crates/aion-server/src/config/env.rs:197–211 maps the Lys variables to nested auth.lys fields. Any one of those variables creates the section with otherwise empty values at lines 471–479. load_auth.rs:29–51 requires auth.enabled=true, a nonempty issuer, a connector credential file and positive draft-pull seconds.
-
HTTP endpoint precedence - On main, crates/aion-cli/src/tail.rs:26 and cli_args.rs:525 bind AION_HTTP_ENDPOINT. Each command’s explicit --http-endpoint wins. client_dispatch.rs:192 passes the signal value to its dry-run contract read.