
It's common for work settings to have multiple environments in them. These environments, e.g., Production and Development, have many similarities and some very specific differences. In the attempt to minimize cognitive load (and typing) so we can tell the differences between environments, we tend to only call out the differences. For example, Production has the prod database, and Development has the dev database, but both use the same DNS systems.
In the end, our configurations have to reflect the exact settings for each environment. But, as mentioned, we do not want to deal with all of that verbosely.
In this article, I'm going to looking at one way to simplify that verbosity. We're going to have a common/base configuration and then composite the environment-specific configurations on top of that to produce the final exact settings for each environment.