What about using git's commit hooks to generate the actual config file? You can even use a templating system in them, but if the config is not too complicated, you might go without it.
| [reply] |
Seems to me that I would make config changes on standby/pre-production and promote them to production, as a number of safeguards are enabled by doing that alone.
Three thousand years of beautiful tradition, from Moses to Sandy Koufax, you're god damn right I'm living in the fucking past
| [reply] |
I would change the config file so that it contained a section for each environment or server and the servers selected the correct section at runtime. In these sections, I would only put the parameters that are server or environment specific. Any parameters that are common to all environments and servers would be expressed only once. In this way, each server or environment would have its unique configuration but the same config file would be used in each environment. It also makes it easy to see what the differences are between servers and environments.
| [reply] |