Skip to content

FR Configuration

Prasad Talasila edited this page Oct 18, 2018 · 4 revisions

The idea is to have a master config file which will be either in TOML or ini configuration format. This file will be used by the configgenerator module to generate the configuration files for all the modules. The output of configgenerator can be in json format.

Consider the following libraries for Config Parser and Generator.

  1. node-convict - a configuration management library from Mozilla. The code quality seems good. (npm install convict)
  2. node-config - another popular configuration manager; a bit outdated software development model. (npm install config)
  3. dotenv - configuration manager. The code quality seems good. (npm install dotenv)
  4. nconf - a hierarchical configuration manager. (npm install nconf)
  5. rc - a barebones configuration loader. This library can be used for reading the output of the config parser(npm install rc)
  6. popularity
  7. A small article

Another useful pattern is to provide administrative interface for performing run-time injection of configuration to running components. The administrative interface can be using autolabcli or using a REST API. The interface must check for proper authorization. Some examples of run-time injection are: ceph admin sockets used for run-time config changes. If complete dynamic ask and update of configuration proves too difficult, we can at least try the dynamic reload of config the way nginx does.

Consider using pm2 and its Docker images should help. Especially we can move to the small 8-alpine container. PM2 has monitor plug-in which is useful as well.

Clone this wiki locally
You can’t perform that action at this time.