There is this recurring topic of how to inject runtime configuration into an applications configuration. This is especially relevant while packaging of applications in docker images.
Imagine an application expecting it’s configuration to reside in a file like /etc/myapp.conf. If you build a docker image for it you could add a config file on build time and be done with that.
But what if you need to configure secrets you don’t want to put aside of your projects sources or remote service addresses that might change over time or depending on the environment.
A common solution to this problem is a small application reading runtime information from mounted files or environment variables and rendering config files with them.
The three solutions I used so far:
These solutions differ slightly. Check the docs to see which one suits you.