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.