I'm using https://github.com/jetstack/cert-manager in a Kubernetes environment to automatically load https://letsencrypt.org/. It creates certificates that expire in 90 days. 30 days prior to expiration, cert-manager renews the certificates and replaces the certificates. The certificates are stored in k8s secrets.
How do you get Envoy Proxy to automatically reload the certificates? The issues was closed and appears to be unanswered. There is some mention of a Secret Discovery Service (SDS) that could help provide a solution, but I haven't been able to figure out one yet.
For nginx, it is possible to configure TLS by add the k8s secrets to k8s volumes, mounting the volume to the filesytem for nginx to use. A filesystem watcher can then be used to call sudo nginx -s reload to reload the configuration when the certificates change. I see that Envoy Proxy supports hot restart, but I don't see a command similar to nginx to make it hot restart.
There is a hot-restarter.py, but it isn't a file watcher and I'd rather not install python on the envoyproxy/envoy:latest docker image. I thought may be some of the functionality of that program could be build in to a rust app that also does file-watching, but there has to be something that exists already for this very common scenario, right?