Command line options

    <path string>``, --config-path <path string>

    (optional) The path to the v1 or v2 JSON/YAML/proto3 configuration file. If this flag is missing, is required. This will be parsed as a v2 bootstrap configuration file and on failure, subject to , will be considered as a v1 JSON configuration file. For v2 configuration files, valid extensions are .json, .yaml, .pb and .pb_text, which indicate JSON, YAML, and text proto3 formats respectively.

    --config-yaml <yaml string>

    --v2-config-only

    (optional) This flag determines whether the configuration file should only be parsed as a . If false (default), when a v2 bootstrap config parse fails, a second attempt to parse the config as a v1 JSON configuration file will be made.

    --mode <string>

    (optional) One of the operating modes for Envoy:

    <path string>

    (optional) The output file path where the admin address and port will be written.

    --local-address-ip-version <string>

    (optional) The IP address version that is used to populate the server local IP address. This parameter affects various headers including what is appended to the X-Forwarded-For (XFF) header. The options are v4 or v6. The default is v4.

    --base-id <integer>

    --concurrency <integer>

    (optional) The number of worker threads to run. If not specified defaults to the number of hardware threads on the machine.

    -l <string>``, --log-level <string>

    (optional) The logging level. Non developers should generally never set this option. See the help text for the available log levels and the default.

    --log-path <path string>

    (optional) The output file path where logs should be written. This file will be re-opened when SIGUSR1 is handled. If this is not set, log to stderr.

    --log-format <format string>

    (optional) The format string to use for laying out the log message metadata. If this is not set, a default format string "[%Y-%m-%d %T.%e][%t][%l][%n] %v" is used.

    The supported format flags are (with example output):

    --restart-epoch

    (optional) The epoch. (The number of times Envoy has been hot restarted instead of a fresh start). Defaults to 0 for the first start. This option tells Envoy whether to attempt to create the shared memory region needed for hot restart, or whether to open an existing one. It should be incremented every time a hot restart takes place. The hot restart wrapper sets the RESTART_EPOCH environment variable which should be passed to this option in most cases.

    --hot-restart-version

    (optional) Outputs an opaque hot restart compatibility version for the binary. This can be matched against the output of the GET /hot_restart_version admin endpoint to determine whether the new binary and the running binary are hot restart compatible.

    --service-cluster <string>

    (optional) Defines the local service cluster name where Envoy is running. The local service cluster name is first sourced from the Bootstrap node message’s field. This CLI option provides an alternative method for specifying this value and will override any value set in bootstrap configuration. It should be set if any of the following features are used: statsd, , runtime override directory, , HTTP global rate limiting, , and HTTP tracing, either via this CLI option or in the bootstrap configuration.

    --service-node <string>

    --service-zone <string>

    (optional) Defines the local service zone where Envoy is running. The local service zone is first sourced from the message’s locality.zone field. This CLI option provides an alternative method for specifying this value and will override any value set in bootstrap configuration. It should be set if discovery service routing is used and the discovery service exposes , either via this CLI option or in the bootstrap configuration. The meaning of zone is context dependent, e.g. Availability Zone (AZ) on AWS, on GCP, etc.

    --file-flush-interval-msec <integer>

    (optional) The file flushing interval in milliseconds. Defaults to 10 seconds. This setting is used during file creation to determine the duration between flushes of buffers to files. The buffer will flush every time it gets full, or every time the interval has elapsed, whichever comes first. Adjusting this setting is useful when tailing in order to get more (or less) immediate flushing.

    --drain-time-s <integer>

    (optional) The time in seconds that Envoy will drain connections during a hot restart. See the for more information. Defaults to 600 seconds (10 minutes). Generally the drain time should be less than the parent shutdown time set via the --parent-shutdown-time-s option. How the two settings are configured depends on the specific deployment. In edge scenarios, it might be desirable to have a very long drain time. In service to service scenarios, it might be possible to make the drain and shutdown time much shorter (e.g., 60s/90s).

    --parent-shutdown-time-s <integer>

    (optional) The time in seconds that Envoy will wait before shutting down the parent process during a hot restart. See the hot restart overview for more information. Defaults to 900 seconds (15 minutes).

    --max-obj-name-len <uint64_t>

    (optional) The maximum name length (in bytes) of the name field in a cluster/route_config/listener. This setting is typically used in scenarios where the cluster names are auto generated, and often exceed the built-in limit of 60 characters. Defaults to 60, and it’s not valid to set to less than 60.

    Attention

    This setting affects the output of --hot-restart-version. If you started envoy with this option set to a non default value, you should use the same option (and same value) for subsequent hot restarts.

    --max-stats <uint64_t>

    (optional) The maximum number of stats that can be shared between hot-restarts. This setting affects the output of ; the same value must be used to hot restart. Defaults to 16384. It’s not valid to set this larger than 100 million.

    --disable-hot-restart

    (optional) This flag disables Envoy hot restart for builds that have it enabled. By default, hot restart is enabled.