Manage configuration files on multiple servers

Running the Rails application on multiple servers (~ 20), I want to be able to manage configuration files (mainly * .yml, as well as SSL / SSL certificate files and other text data) from one place, so any change to files or a new file added to all servers.

I also want this content source controller via git.

Not often updated, and I want the application to not touch, so that data is read from files, as it is now.

What is the affordable solution for this, does Zookeeper work well?

+6
source share
2 answers

I have not used Zookeeper, but I believe that you should do something like this with a tool like Puppet or Chef .

+1
source

We use ZooKeeper for live settings. One idea is to use a registry.

Say you have a component called Arst.

You can have several configurations, for example, for redis in these folders, each of which represents a different instance:

/dbs/redis/0 (host, port, db, password as children) /dbs/redis/1 (host, port, db, password as children) /dbs/redis/prod (host, port, db, password as children) 

And if your Arst component needs to use instance 0, you might have a registry like this:

 /arst/redis/0 

If you want to add 1, just add node, and the child hours in the application will update things for you without rebooting. This is not very easy to do, and managing the settings can be a pain for commands like qa.

So, I will also be working on the console to handle this. We will open sources.

0
source

Source: https://habr.com/ru/post/943905/


All Articles