Dynamic Configuration from Filesystem Not Working

45 views
Skip to first unread message

Austin Guo

unread,
Feb 19, 2025, 10:45:51 AMFeb 19
to envoy-users
Hi team,

I'm currently testing some Envoy behavior on LDS update using the Dynamic Configuration from Filesystem documentation, but am running into issues.

Namely, the documentation above warns:
> Envoy only updates when the configuration file is replaced by a file move, and not when the file is edited in place.

So, I spin up an Envoy proxy in a Docker container with the Envoy configuration and /var/lib/envoy/lds.yaml mounted to the filesystem (configured according to the documentation), but when I attempt to replace the lds configuration file with a file move, I get an error because the file is currently opened by Envoy for reading:
```
$ mv /var/lib/envoy/lds-new.yaml /var/lib/envoy/lds.yaml
mv: cannot move '/var/lib/envoy/lds-old.yaml' to '/var/lib/envoy/lds.yaml': Device or resource busy
```

Is there another way I should be using dynamic configuration from filesystem with Envoy?

Austin Guo

unread,
Feb 24, 2025, 2:23:51 PMFeb 24
to envoy-users

Austin Guo

unread,
Mar 1, 2025, 10:36:46 AMMar 1
to envoy-users
For posterity, I was able to get the LDS update to work. For some reason, if I mount lds.yaml onto the container filesystem, no matter what I do I get problems running `mv` to update lds.yaml. However, if I create a custom Docker image with the files already baked into it (so no mounting is required), I'm able to successfully `mv` the file and trigger the LDS. Thanks to Kevin Baichoo for the help! Here's the article he linked https://tetrate.io/blog/envoy-101-file-based-dynamic-configurations/
Reply all
Reply to author
Forward
0 new messages