Yaml, JSON, xml, text files... all work great for configuration.
But the assumption is that your configuring a piece of software on an already existing system.
A config file as means of setting up a system, installing software, and establishing how its going to run is exceedingly stupid.
Write your app so it can run on bare metal, install with apt, yum or your tool(s) of choice for your org. Build it so it scales diagonally, and works against spot instances where you can (because sometimes more or less cores are cheaper). Dont even get me started on the nonsense of everyone and their ideas for "secrets management", it makes me miss LDAP.
Scripting a config file. Templates for config. We did this already, xml, XSD, XSLT, DOM...
It sucked.
Config should be easy and flat and simple. IF it isnt that source it from code, or from a service... Most of the nonsense of config madness is a byproduct of, or hidden in, containers. If we were writing installable software much of that would go away...
What’s this magical config service do? Take data in from a request and return transformed data back in response to configure the caller? What is the essential difference between this config service and existing config languages?
Yaml, JSON, xml, text files... all work great for configuration.
But the assumption is that your configuring a piece of software on an already existing system.
A config file as means of setting up a system, installing software, and establishing how its going to run is exceedingly stupid.
Write your app so it can run on bare metal, install with apt, yum or your tool(s) of choice for your org. Build it so it scales diagonally, and works against spot instances where you can (because sometimes more or less cores are cheaper). Dont even get me started on the nonsense of everyone and their ideas for "secrets management", it makes me miss LDAP.