-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Centralized configuration management #29
Comments
Just thinking out loud here, but perhaps keeping it simple by only having the clients configured with the influxdb host and database as they currently are, and then doing a read of the influxdb to get the URL to download the configuration. This is an extension of the metadata concept (but reads instead of writes), and using influxdb for slow changing data (not just performance metrics). So at a high level, the steps would be:
e.g. "create database capacitor"
e.g. "insert config,option='config.url' value='http://capacitor.domain/configuration/v1/config.xml'"
So, some of the possibilities here:
|
Never thought about storing the configuration in influxDB it self. Cool idea! :) |
Please pardon my potential ramblings... As it currently sits, I've centralized the config management by deploying the XML config files, and even Influx-Capacitor itself, through Group Policy. Seems to work just fine. I've actually built an entire service framework at my day job designed around the concept of central management that dynamically loads/unloads configs to determine which services should be running. The whole thing is quite complex in its detail, but very robust and kinda cool to watch when run in CLI mode. The way I do it is by loading an XML config file on start, but then I poll the server for the latest version, pull it down, overwrite the XML config file I loaded on start, and then reload the new config from the same file location. Since the central server location is also in this file, you can update that value remotely as well. To avoid dependency between the functions, there are actually two separate logical loops to achieve this (I say logical because it all gets pumped through one central message/action pipeline loop): one for reloading the config every 30 seconds (or whatever the configured duration is), and one for constantly polling for the latest version from the central server. This might be the easiest way to implement the functionality. It also seems like this would be best implemented (aka most easily implemented client-side) by offering a hosted Influx-Capacitor management service on the web, with the option of hosting one on-premise. Log in to your portal and manage your sites, server groups and whatnot with their various configurations, then just deploy your agents to do your bidding. All that having been said, has there been any work done on this? |
It is a bit messy to keep track of all servers and how Influx-Capacitor is configured on them.
nathanwebb suggested a way of configuring them from one central point.
My idea here would be a simple service exposing a WebAPI that Influx-Capacitor can talk to. What you need to do then is just pointing Influx-Capacitor to the http address and the configurations will be read from there.
The text was updated successfully, but these errors were encountered: