I have 20+ applications (Rust, Python, Node.js, ...) running on a single server. Some of them are cronjobs, some are Docker containers and some run in screens.
I'm going to use an uptime monitoring cronjob as an example, but it should also be able to handle other kinds of services.
What I'm trying to do is create a centralized configuration management system. I and other people in the company should be able to for example, create an instance of the uptime monitoring service that runs in a cronjob (specifying a URL and timeouts). The cronjob should then be able to fetch the checks to do and then reach out to the config management and tell it for example, that a run was successful and found no downtime.
Is this the best way to do it? And if so, is there any system that can do this? To reiterate, the requirements are:
- Have different users configure services based on a predefined schema (URL, timeout, ...)
- Have applications be able to fetch those service configurations (The cronjobs needs to be able to fetch all HTTP checks to do and their URLs)
- Have applications be able to push updates for services (not necessarily required, and can just be text + status ok/fail)
What would you call such a system, and does something like this already exist? If not, I would consider making this myself using redis.