Linux

Where Does Envoy Store Config?

Envoy Proxy reads envoy.yaml in etc envoy on startup. Hot restart keeps shared memory path for state.

Last updated

Envoy loads a single YAML file on startup, usually /etc/envoy/envoy.yaml. That file defines listeners, clusters, routes, and admin access. Includes and xDS sources extend it.

Runtime state is ephemeral. Hot restart uses a shared memory prefix under /tmp or /dev/shm. Logs go to stdout or files per config. For backup, the YAML file and includes are everything. Validate the YAML before reload, since a single indent error keeps Envoy from starting and drops traffic. Check admin and listener ports after edits, since conflicts keep the new process from binding.

Where Envoy Proxy stores this, by platform

Linux
/etc/envoy/envoy.yaml

Listeners, clusters, and routes. Validate after edits. Keep includes alongside this file on migration.

Linux
/etc/systemd/system/envoy.service

Startup flags with -c config path. Check here if Envoy uses a custom config location. Reload after changes.

Frequently asked questions

where is the envoy config file

Packages default to /etc/envoy/envoy.yaml passed with -c. Check the systemd unit for the exact -c path. Validate with envoy --mode validate before reloading.

how do i migrate envoy config

Copy envoy.yaml plus any included files to the new host. Keep admin and logging paths matched. Validate the config before cutting traffic over. Keep include paths identical to avoid startup failures.

Notice an outdated path? Let us know.