The arion binary takes its configuration from one or both of two file flags, plus optional runtime-tuning flags that override the file's runtime section.
Flags
| Flag | Value | Default | Description |
|---|---|---|---|
-c, --config | path | — | An Arion configuration file in the file format, with top-level runtime, logging, envoy_bootstrap and friends. |
--with-envoy-bootstrap | path | — | A bare Envoy Bootstrap YAML file (top-level node, static_resources, dynamic_resources, admin — not wrapped in envoy_bootstrap:). Replaces any bootstrap from --config. |
-C, --num-cpus | integer ≥ 1 | from file / detected | Cores to use. Overrides runtime.num_cpus. |
-R, --num-runtimes | integer ≥ 1 | from file / 1 | Tokio worker runtimes. Overrides runtime.num_runtimes. |
-S, --num-service-threads | integer ≥ 1 | from file / 1 | Service threads. Overrides runtime.num_service_threads. |
--global-queue-interval | integer ≥ 1 | Tokio default | Scheduler ticks between global queue polls. Overrides runtime.global_queue_interval. |
--event-interval | integer | Tokio default | Scheduler ticks between I/O event polls. Overrides runtime.event_interval. |
--max-io-events-per-tick | integer ≥ 1 | Tokio default | Maximum I/O events per tick. Overrides runtime.max_io_events_per_tick. |
--clusters-manager-queue-length | integer ≥ 1 | — | Accepted but not currently applied by the runtime. |
--core-ids | comma-separated integers | — | Accepted but not currently applied; use runtime.affinity_strategy in the config file to pin cores. |
-h, --help | — | — | Print usage and exit. |
At least one of --config or --with-envoy-bootstrap is required. Environment variables take precedence over these flags, which take precedence over the file.
Selecting the configuration source
--configalone: the file provides everything, including the bootstrap via itsenvoy_bootstrap(or nativebootstrap) key.--with-envoy-bootstrapalone: the file is parsed as an Envoy Bootstrap directly;runtime,logging,access_logging,metricsandtimezoneall take their defaults.- Both: process settings come from the
--configfile, and its bootstrap — whichever key it used — is discarded in favour of the Envoy bootstrap file.
Invocation
# Arion file format
arion --config arion.yaml
# An unmodified Envoy bootstrap, e.g. when migrating from Envoy
arion --with-envoy-bootstrap envoy.yaml
# Process tuning from arion.yaml, resources from envoy.yaml, two runtimes
arion -c arion.yaml --with-envoy-bootstrap envoy.yaml -R 2
On a configuration error Arion logs the reason, including the YAML path of the offending field, and exits with status 1.