Expand description
Runtime configuration loading and validation.
Runtime configuration loading and validation for aion-server.
The config surface is split across cohesive submodules and re-exported here
in full, so every crate::config::X path resolves identically to the old
single-file layout:
assistant— the optional[assistant]section: harness accounts.- [
defaults] — default values and operator-facing validation messages. - [
sections] — the typed[section]sub-configurations and their defaults. - [
runtime] — the [RuntimeConfig] runtime view and [CliOverrides]. - [
load] —ServerConfig, its load/merge/validate pipeline, and the workflow-package discovery helpers. - [
heal] — the boot-side config self-heal: the standard pass that checks every required field and inserts its declared default when absent. env/file— the environment-variable and TOML-file loaders.- [
home] — the single typed Aion-home resolver.
Modules§
- env
- Environment variable configuration loader.
Environment variable overlays for
AION_prefixed server configuration. - file
- File-based configuration loader. TOML config file discovery, reading, and parsing.
Structs§
- Aion
Home - A resolved Aion home together with the provenance of that resolution.
- Assistant
Account Config - One named login account, from
[[assistant.harness.account]]. - Assistant
Config - The
[assistant]section — entirely optional. - Assistant
Harness Config - The accounts declared on ONE catalogue harness, from
[[assistant.harness]]. - Auth
Config - Authentication configuration applied at adapter boundaries.
- Authoring
Config - Server-side authoring settings from
[authoring]. - CliOverrides
- Command-line configuration overrides applied after file and environment values.
- Cluster
Config - Distributed-cluster membership for the haematite backend, from
[store.cluster]. - Cluster
Peer - One dialable cluster peer: its distribution name and replication address.
- Deploy
Config - Operator deploy API settings from
[deploy]. - DevConfig
- Local dev-server surface settings from
[dev]. - Drain
Config - Graceful drain settings from
[drain]. - Listen
Config - Public transport listener addresses retained for existing adapter code.
- McpConfig
- Model Context Protocol surface settings from
[mcp]. - Metrics
Config - Metrics endpoint settings from
[metrics]. - Namespace
Config - Namespace resolver construction mode.
- Namespaces
Config - Namespace defaults from
[namespaces]. - Observability
Config - Agent-observability transcript settings from
[observability]: retention bounds, and the transcript drain’s flush policy. - OpsConsole
Config - Static ops-console asset configuration.
- Outbox
Config - Durable-outbox fan-out dispatcher settings from
[outbox]. - Resolved
Assistant Account - One named login account, validated.
- Resolved
Assistant Config - The
[assistant]section, validated. - Resolved
Assistant Harness - One catalogue harness’s declared accounts, validated.
- Resolved
McpConfig - The
[mcp]section with every omitted knob resolved. - Runtime
Config - Runtime settings retained in shared server state for transport adapters.
- Runtime
Section - Engine runtime settings from
[runtime]. - Server
Config - Complete merged server configuration.
- Server
Section - Public transport listener addresses from
[server]. - Store
Config - Event-store backend configuration from
[store]. - TlsConfig
- TLS certificate and private-key material.
- WebSocket
Config - WebSocket stream configuration.
- Worker
Config - Remote worker heartbeat configuration.
- Worker
Supervision Config - Managed-worker supervision settings from
[worker_supervision].
Enums§
- Auto
Create - Minted-on-use namespace policy (Control-Plane Phase 1).
- Home
Source - Where a resolved Aion home came from.
- Namespace
Mode - Supported namespace mapping modes.
- OpsConsole
Asset Source - Static ops-console bundle source.
- Outbox
Transport - Wire transport selected for outbox dispatch.
- Store
Backend - Supported event-store backend names.
Constants§
- DEFAULT_
AUTHORING_ WORKSPACE_ DIR - Child directory below Aion home used by the out-of-box AWL studio.
- DEFAULT_
CLUSTER_ BROADCAST_ CAPACITY - Default
cluster_broadcast_capacityapplied when omitted. Cluster topology events are low-rate, so a small lag buffer is ample. - DEFAULT_
DEPLOY_ MAX_ ARCHIVE_ BYTES - Default
deploy.max_archive_bytesapplied when omitted and deploy is enabled. A conservative 64 MiB upload ceiling: large enough for real workflow packages, small enough to bound a single upload. Overridable. - DEFAULT_
DEPLOY_ MAX_ INFLATED_ BYTES - Default
deploy.max_inflated_bytesapplied when omitted and deploy is enabled. A conservative 256 MiB decompressed-contents ceiling (4x the archive ceiling) that still hard-caps DEFLATE-bomb inflation. Overridable. - DEFAULT_
EVENT_ BROADCAST_ CAPACITY - Default
event_broadcast_capacityapplied when omitted, so a minimal/empty config boots without forcing the operator to size a tuning knob. Sized for global event volume across namespaces; override for high-throughput fleets. - DEFAULT_
FAILOVER_ CONFIRMATIONS - Default SS-5b debounce count when
[store.cluster]does not setfailover_confirmations. - DEFAULT_
FAILOVER_ POLL_ INTERVAL_ MS - Default SS-5b failover poll interval (milliseconds) when
[store.cluster]does not setfailover_poll_interval_ms. - DEFAULT_
HAEMATITE_ DATA_ DIR - Child directory below Aion home used by the default haematite store.
- DEFAULT_
HTTP_ ADDRESS - Shipping HTTP/WebSocket listener used when no server override is supplied.
- DEFAULT_
MAX_ IN_ FLIGHT_ ACTIVITIES - Generous platform default for
[namespaces] max_in_flight_activities: the cluster-wide concurrent in-flight-activity ceiling applied to a namespace that sets no explicit override. A generous power-of-two (Control-Plane Phase 2 §6.1 / Open Decision 4) so the default is HEADROOM, not a low hard cap — a tenant only ever hits a ceiling it (or the operator) raised. Nothing enforces it yet (P2-Q1 is config + record field only). - DEFAULT_
MCP_ DISCOVER_ TTL_ MS - Default
mcp.discover_ttl_ms: how long a client may treat aserver/discoverresult as fresh. Sixty seconds — the discover result names the protocol revisions and the extension set, which change only on a deploy, but a minute is short enough that a rolling upgrade is visible to a client promptly. Overridable per deployment. - DEFAULT_
MCP_ TASK_ POLL_ INTERVAL_ MS - Default
mcp.task_poll_interval_ms: the interval a created task asks its client to poll at. One second. Overridable per deployment. - DEFAULT_
MCP_ TOOLS_ LIST_ TTL_ MS - Default
mcp.tools_list_ttl_ms: how long a client may treat atools/listresult as fresh. Five minutes — the catalog is compiled into the binary and cannot change while the process runs, so the only event that invalidates it is a restart. Overridable per deployment. - DEFAULT_
OBSERVABILITY_ MAX_ EVENT_ BYTES - Default
observability.max_event_bytes: the ceiling on one persisted transcript event’s serialized size. 256 KiB comfortably holds real tool-result payloads while bounding what one hostile/verbose harness line can write to the durableOkeyspace. Overridable per deployment. - DEFAULT_
OBSERVABILITY_ MAX_ STREAM_ EVENTS - Default
observability.max_stream_events: the ceiling on retained events per(workflow, activity, attempt)transcript stream. Past it one marker record is retained and further events stay live-only. Overridable. - DEFAULT_
OUTBOX_ BACKOFF_ BASE_ MS - Default
outbox.backoff_base_msapplied when omitted and the dispatcher is enabled: the first retry’s backoff, in milliseconds. - DEFAULT_
OUTBOX_ BACKOFF_ MAX_ MS - Default
outbox.backoff_max_msapplied when omitted and the dispatcher is enabled: the per-retry backoff ceiling, in milliseconds. - DEFAULT_
OUTBOX_ BACKOFF_ MULTIPLIER - Default
outbox.backoff_multiplierapplied when omitted and the dispatcher is enabled: geometric growth factor per prior attempt (must be >= 1). - DEFAULT_
OUTBOX_ BATCH_ SIZE - Default
outbox.batch_sizeapplied when omitted and the dispatcher is enabled: rows claimed per sweep. - DEFAULT_
OUTBOX_ MAX_ ATTEMPTS - Default
outbox.max_attemptsapplied when omitted and the dispatcher is enabled: dispatch attempts before a row is dead-lettered tofailed. - DEFAULT_
OUTBOX_ POLL_ INTERVAL_ MS - Default
outbox.poll_interval_msapplied when omitted and the dispatcher is enabled. A tight 20ms claim cadence keeps fan-out latency low; raise it for lower-rate, larger-batch sweeps. - DEFAULT_
QUERY_ TIMEOUT_ MS - Default
query_timeout_msapplied when omitted, so a minimal/empty config boots with a sane workflow-query reply deadline instead of failing startup. - DEFAULT_
STOP_ DRAIN_ TIMEOUT_ MS - Default
runtime.stop_drain_timeout_msapplied when omitted: thirty seconds, ruled 2026-08-29 as the honest patience of one deploy (it sits beside the estate’s 30 s boot gate as the same kind of number). - DEFAULT_
WORKLOOP_ SWEEP_ INTERVAL_ MS - Default
runtime.workloop_sweep_interval_msapplied when omitted. - FIRST_
RUN_ CONFIG - The embedded first-run configuration: the exact bytes a first boot with no
discovered config writes to
<AION_HOME>/config.toml. - MAX_
TRANSCRIPT_ WINDOW_ LIMIT - Maximum bounded transcript page accepted by the HTTP transcript endpoint.
- OBSERVABILITY_
MAX_ BATCH_ EVENTS_ REQUIRED - Operator-facing message for an absent or zero
observability.max_batch_events. - OBSERVABILITY_
MAX_ BATCH_ HOLD_ MS_ REQUIRED - Operator-facing message for an absent
observability.max_batch_hold_ms. - STORE_
NODE_ CACHE_ BUDGET_ REQUIRED - Operator-facing message for an absent
store.node_cache_budget.
Functions§
- aion_
home - Resolve the Aion user-level configuration and state directory.