pub struct ServerConfig {Show 21 fields
pub server: ServerSection,
pub store: StoreConfig,
pub runtime: RuntimeSection,
pub drain: DrainConfig,
pub auth: AuthConfig,
pub metrics: MetricsConfig,
pub namespaces: NamespacesConfig,
pub tls: Option<TlsConfig>,
pub ops_console: OpsConsoleConfig,
pub namespace: NamespaceConfig,
pub worker: WorkerConfig,
pub websocket: WebSocketConfig,
pub workflow_packages: Vec<PathBuf>,
pub deploy: DeployConfig,
pub authoring: AuthoringConfig,
pub dev: DevConfig,
pub outbox: OutboxConfig,
pub observability: ObservabilityConfig,
pub mcp: McpConfig,
pub assistant: Option<AssistantConfig>,
pub worker_supervision: WorkerSupervisionConfig,
}Expand description
Complete merged server configuration.
Fields§
§server: ServerSectionPublic listener and transport addresses.
store: StoreConfigEvent-store backend configuration.
runtime: RuntimeSectionEngine runtime settings.
drain: DrainConfigShutdown drain settings.
auth: AuthConfigAuthentication settings defined by the operations config surface.
metrics: MetricsConfigMetrics endpoint settings.
namespaces: NamespacesConfigNamespace defaults.
tls: Option<TlsConfig>Optional TLS material for transports that require it.
ops_console: OpsConsoleConfigStatic ops-console asset bundle location.
namespace: NamespaceConfigNamespace resolver construction mode retained for existing transports.
worker: WorkerConfigRemote-worker heartbeat policy.
websocket: WebSocketConfigWebSocket event streaming policy.
workflow_packages: Vec<PathBuf>Workflow package archives loaded into the engine at startup.
deploy: DeployConfigOperator deploy API settings.
AWL studio and optional server-side Gleam authoring settings.
dev: DevConfigLocal dev-server surface settings.
outbox: OutboxConfigDurable-outbox fan-out dispatcher settings.
observability: ObservabilityConfigAgent-observability transcript retention bounds.
mcp: McpConfigModel Context Protocol surface settings.
assistant: Option<AssistantConfig>Assistant-session surface settings — OPTIONAL, and about accounts only.
Absent is the stock server, and the stock server serves the assistant: the harness catalogue ships as data, so there is no command, timeout or path to declare. What the section can still say is which named login accounts a deployment offers on a harness.
worker_supervision: WorkerSupervisionConfigManaged-worker supervision policy. Absent = supervision uncommissioned: the server runs no worker processes and says so with the remedy.
Implementations§
Source§impl ServerConfig
impl ServerConfig
Sourcepub fn load(cli: &CliOverrides) -> Result<Self, ServerError>
pub fn load(cli: &CliOverrides) -> Result<Self, ServerError>
Load and merge config from defaults, optional TOML file, environment, and CLI overrides.
§Errors
Returns ServerError::Config when file discovery, parsing, environment parsing, CLI
values, or validation fail.
Sourcepub fn from_slice(bytes: &[u8]) -> Result<Self, ServerError>
pub fn from_slice(bytes: &[u8]) -> Result<Self, ServerError>
Parse server configuration from TOML bytes and validate it.
§Errors
Returns ServerError::Config when parsing fails or values are invalid.
Sourcepub fn from_slice_with_home(
bytes: &[u8],
home: &Path,
) -> Result<Self, ServerError>
pub fn from_slice_with_home( bytes: &[u8], home: &Path, ) -> Result<Self, ServerError>
Parse server configuration using an explicitly supplied Aion home.
This is useful for embedded callers and tests that must not consult or
touch the process user’s real home. It applies the same dynamic defaults
as Self::load, but does not apply environment or CLI overlays, and
naming the home here suppresses the working-directory legacy fallback
exactly as setting AION_HOME does — an embedded caller that supplies a
home is isolating this server’s state, not asking to inherit whatever
directory the process happens to have been started in.
§Errors
Returns ServerError::Config when parsing, current-directory
resolution, dynamic path defaulting, or validation fails.
Sourcepub fn load_from_path(path: impl Into<PathBuf>) -> Result<Self, ServerError>
pub fn load_from_path(path: impl Into<PathBuf>) -> Result<Self, ServerError>
Load server configuration from an explicit TOML file path.
§Errors
Returns ServerError::Config when the file is missing, unreadable, unparsable, or invalid.
Sourcepub fn into_parts(self) -> (StoreConfig, RuntimeConfig)
pub fn into_parts(self) -> (StoreConfig, RuntimeConfig)
Split store configuration from non-secret runtime settings.
Trait Implementations§
Source§impl Clone for ServerConfig
impl Clone for ServerConfig
Source§fn clone(&self) -> ServerConfig
fn clone(&self) -> ServerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ServerConfig
impl Debug for ServerConfig
Source§impl Default for ServerConfig
impl Default for ServerConfig
Source§fn default() -> ServerConfig
fn default() -> ServerConfig
Source§impl<'de> Deserialize<'de> for ServerConfigwhere
ServerConfig: Default,
impl<'de> Deserialize<'de> for ServerConfigwhere
ServerConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ServerConfig
impl RefUnwindSafe for ServerConfig
impl Send for ServerConfig
impl Sync for ServerConfig
impl Unpin for ServerConfig
impl UnsafeUnpin for ServerConfig
impl UnwindSafe for ServerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request