ablative docs
↑↓ move↵ openesc close
Stack Notebook ablative.com.au

Environment variables

Every server override from the current allowlist and the separate CLI and worker settings.

Open .md

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.