Skip to main content

ServerConfig

Struct ServerConfig 

Source
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: ServerSection

Public listener and transport addresses.

§store: StoreConfig

Event-store backend configuration.

§runtime: RuntimeSection

Engine runtime settings.

§drain: DrainConfig

Shutdown drain settings.

§auth: AuthConfig

Authentication settings defined by the operations config surface.

§metrics: MetricsConfig

Metrics endpoint settings.

§namespaces: NamespacesConfig

Namespace defaults.

§tls: Option<TlsConfig>

Optional TLS material for transports that require it.

§ops_console: OpsConsoleConfig

Static ops-console asset bundle location.

§namespace: NamespaceConfig

Namespace resolver construction mode retained for existing transports.

§worker: WorkerConfig

Remote-worker heartbeat policy.

§websocket: WebSocketConfig

WebSocket event streaming policy.

§workflow_packages: Vec<PathBuf>

Workflow package archives loaded into the engine at startup.

§deploy: DeployConfig

Operator deploy API settings.

§authoring: AuthoringConfig

AWL studio and optional server-side Gleam authoring settings.

§dev: DevConfig

Local dev-server surface settings.

§outbox: OutboxConfig

Durable-outbox fan-out dispatcher settings.

§observability: ObservabilityConfig

Agent-observability transcript retention bounds.

§mcp: McpConfig

Model 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: WorkerSupervisionConfig

Managed-worker supervision policy. Absent = supervision uncommissioned: the server runs no worker processes and says so with the remedy.

Implementations§

Source§

impl ServerConfig

Source

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.

Source

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.

Source

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.

Source

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.

Source

pub fn into_parts(self) -> (StoreConfig, RuntimeConfig)

Split store configuration from non-secret runtime settings.

Trait Implementations§

Source§

impl Clone for ServerConfig

Source§

fn clone(&self) -> ServerConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ServerConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ServerConfig

Source§

fn default() -> ServerConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ServerConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoMaybeUndefined<T> for T

Source§

fn into_maybe_undefined(self) -> MaybeUndefined<T>

Converts this value into a three-state builder argument.
Source§

impl<T> IntoOption<T> for T

Source§

fn into_option(self) -> Option<T>

Converts this value into an optional builder argument.
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more