Skip to content

Every flag of the arion binary: config file selection, Envoy bootstrap override and runtime tuning.

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

FlagValueDefaultDescription
-c, --configpath—An Arion configuration file in the file format, with top-level runtime, logging, envoy_bootstrap and friends.
--with-envoy-bootstrappath—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-cpusinteger ≥ 1from file / detectedCores to use. Overrides runtime.num_cpus.
-R, --num-runtimesinteger ≥ 1from file / 1Tokio worker runtimes. Overrides runtime.num_runtimes.
-S, --num-service-threadsinteger ≥ 1from file / 1Service threads. Overrides runtime.num_service_threads.
--global-queue-intervalinteger ≥ 1Tokio defaultScheduler ticks between global queue polls. Overrides runtime.global_queue_interval.
--event-intervalintegerTokio defaultScheduler ticks between I/O event polls. Overrides runtime.event_interval.
--max-io-events-per-tickinteger ≥ 1Tokio defaultMaximum I/O events per tick. Overrides runtime.max_io_events_per_tick.
--clusters-manager-queue-lengthinteger ≥ 1—Accepted but not currently applied by the runtime.
--core-idscomma-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

  • --config alone: the file provides everything, including the bootstrap via its envoy_bootstrap (or native bootstrap) key.
  • --with-envoy-bootstrap alone: the file is parsed as an Envoy Bootstrap directly; runtime, logging, access_logging, metrics and timezone all take their defaults.
  • Both: process settings come from the --config file, 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.

Continue

Start typing to search the site.

↑ ↓ to move Enter to open Esc to close