server
Run the Aion workflow server; inspect a running server with `aion server status`.
aion server [OPTIONS] -
--config <CONFIG> - Path to a TOML server configuration file. Optional when using local defaults
-
--listen-address <LISTEN_ADDRESS> - Override the HTTP/JSON and ops-console listener address
-
--grpc-address <GRPC_ADDRESS> - Override the gRPC listener address this server binds. This is the server's own bind address. The global `--endpoint` is the address a *client* dials and has no effect here; `aion server` refuses rather than start on a different port than the operator named.
-
--store-url <STORE_URL> - RETIRED. Selected the libSQL backend, which no longer exists. Kept only so that passing it is refused by name with the haematite remedy rather than rejected as an unknown flag, which would name nothing
-
--scheduler-threads <SCHEDULER_THREADS> - Number of engine scheduler worker threads
-
--jit-threshold <JIT_THRESHOLD> - Recorded calls to one `(module, function, arity)` before the embedded VM JIT-compiles it. Omitted, the VM applies its own default. This moves the moment of compilation; it does not switch compilation off. A very large value defers it past any realistic workload, but the call counter saturates rather than stopping, so compilation still occurs on the far side of that horizon.
-
--drain-timeout <DRAIN_TIMEOUT_SECONDS> - Maximum graceful drain duration in seconds
-
--workflow-package <WORKFLOW_PACKAGES> - Workflow package archive to load at startup. Repeat to load multiple packages
-
--gleam-path <GLEAM_PATH> - Path to the external `gleam` binary that commissions the server-side authoring loop. Setting it mounts the `/authoring/*` endpoints (and requires `--authoring-project-root`); absent, the server compiles no Gleam and deploys pre-built `.aion` files only
-
--authoring-project-root <AUTHORING_PROJECT_ROOT> - Built Gleam workflow project root that submitted authoring source is written into and packaged from. Required when `--gleam-path` is set
-
--open - Open the ops console in the default browser once the HTTP listener is up. Resolves the served URL from the effective config (the same `--listen-address`/config/default precedence the server uses)
server status
Report which server is actually running: the pid-file record, the live build identity from its own listener, and readiness — each layer's absence reported as its own distinct state
aion server status [OPTIONS] -
--config <CONFIG> - Path to the TOML server configuration file. Used to resolve the store path and, when no pid file exists, the address to probe
server stop
Stop the running server: verify the recorded process identity, send SIGTERM, wait for the drain, and report the drain outcome by name
aion server stop [OPTIONS] -
--config <CONFIG> - Path to the TOML server configuration file. Used only to resolve the wait patience when `--patience` is absent and no running process's record answers: the stop budget the config describes — its drain window (`drain.timeout_seconds`), plus twice the managed workers' stop grace, plus the fixed harness termination grace
-
--patience <PATIENCE> - Seconds to wait for the server to exit before reporting it still draining. Absent, the running server's own recorded stop budget governs (drain window + twice the managed-worker stop grace + the fixed harness termination grace), then the stop budget its config describes.
server restart
Hand this home over from the running server to a fresh one: signal the running server, start its successor while it drains, and narrate both until the new one is serving
aion server restart [OPTIONS] -
--config <CONFIG> - Path to the TOML server configuration file. Used to resolve the drain patience when the running server's record carries none, and passed to the successor as `aion server --config`
-
--patience <PATIENCE> - Seconds to wait for the running server to begin draining or exit before giving up on the handover. Absent, the running server's own recorded stop budget governs (its drain window, twice its managed-worker stop grace, and the fixed harness termination grace), then the stop budget its config describes.
stop
Stop the server running under this machine's Aion home.
aion stop [OPTIONS] -
--config <CONFIG> - Path to the TOML server configuration file. Used only to resolve the wait patience when `--patience` is absent and no running process's record answers: the stop budget the config describes — its drain window (`drain.timeout_seconds`), plus twice the managed workers' stop grace, plus the fixed harness termination grace
-
--patience <PATIENCE> - Seconds to wait for the server to exit before reporting it still draining. Absent, the running server's own recorded stop budget governs (drain window + twice the managed-worker stop grace + the fixed harness termination grace), then the stop budget its config describes.
update
Install a version of Aion and hand the running server over to it.
aion update [OPTIONS] -
--version <VERSION> - Version to install. Absent, the latest STABLE version the package index publishes — the same version a plain `cargo install aion-cli` would fetch
-
--config <CONFIG> - Path to the TOML server configuration file. Used to resolve the drain patience when the running server's record carries none, to find the store the downgrade guard and the forward step read, and passed to the installed binary's `store migrate-package-rows` and to the successor as `aion server --config`
-
--patience <PATIENCE> - Seconds to wait for the running server to begin draining, and the cadence of the "still waiting" line while it finishes its stop. Absent, the running server's own recorded stop budget governs (drain window + twice the managed-worker stop grace + the fixed harness termination grace), then the stop budget its config describes.
- With no version, targets the latest stable crates.io build: currently 0.31.0 from 18 September 2026, which predates this main code. An installation can replace newer main code with that published build.
- Matching package version strings can return already current despite different source commits. The installer uses Cargo’s default features; install explicitly with --features auth to retain JWT verification.
store
Operate a store's data directory directly, with no server running.
aion store [OPTIONS] <COMMAND> store harden
Bring every directory under the store to 0700 and every file to 0600.
aion store harden [OPTIONS] -
--data-dir <DIR> - The store's data directory. Defaults to `store.data_dir` from the configuration this machine's server would load
-
--config <FILE> - Explicit configuration file, when resolving the data directory from configuration
store migrate package rows
Split every deployed-package row still in the joined shape into a head row and an archive row.
aion store migrate-package-rows [OPTIONS] -
--data-dir <DIR> - The store's data directory. Defaults to `store.data_dir` from the configuration this machine's server would load
-
--config <FILE> - Explicit configuration file, read for the data directory and for the store's node-cache budget
- Requires a newer main build; the public 18 September 2026 crate lacks this command.
Read running the server, upgrading and backups.