31-AUG-2024
2150
I’ve been working on getting some more exporters set up, and I am finding a ‘next-domino’ problem as
I roll out the ipmi exporter, I need to deploy each machine with the new config, but once I do
that I need to deploy daktylos to update it’s configuration to search. This made me think about
how the eventual ‘real’ methodology rolls out; I want to be able to develop an abstract
configuration of machines such that the configuration will be the same no matter how it is
deployed, so that I can then specify the resources necessary for a machine to play a particular
role, and then separately have code that tries to efficiently deploy it using some configuration
data. Essentially separating design from deployment and creating something like a ‘high level’
terraform.
This problem – knowing what to deploy when some configuration changes – is very similar to the incremental compilation problem, and I think it’ll be an interesting thing to build strategies for in the operations context. For now, I just have to remember to deploy them sequentially; I think once I set up the CI server I’ll add some simple logic to allow me to trigger common build patterns with flags or something. Ideally I could have some way to specify what parts of the config changing it cares about, but that’s probably much more complicated.