I've got a rather large interconnected system composed of several independent components written in several different frameworks/languages. We've got a big C project run by .conf files, Ansible scripts to automate installation/running, a handful of bash scripts that do specific things, a Node.js webservice, Apache-based webservices, MySQL databases, and probably some others that I'm forgetting. Specifically, I'm working on automating the installation process so that other users can easily setup the whole thing from a scratch installation of debian.
These services are largely independent of each other and can be turned on/off individually, but there are a few global variables that need to be known across all components (username, mysql database name, mysql password, install directory, other values etc). For each different independent component I'm assigning the value just once, in a variable global to that component, but is there a best practice or good tool/way for me to set these globals across these components?
Right now I'm solving this programmatically, with a set of README instructions to "globally search the whole project for these key strings: MYSQL_USER, etc" and a list of where I know they're located. It's okay for now but I'm worried about the human error and scalability involved.