mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-01-23 13:58:09 -05:00
The dynamic configuration system has two components: the app, which reads, and the writer script. The latter is meant for use by humans, and converts a [live_config] section of the INI file into JSON for storage in ZooKeeper. The app will read this data on startup and place a watch on the node to be notified, by ZooKeeper, of changes. This means that running the writer script with new data will automatically propagate the changes to every app very quickly, without restart. The writer script relies on a human-entered password to authenticate with ZooKeeper. The reddit app uses a different set of credentials (specified in the INI file) to obtain read-only access to the configuration data. Also adds a new "live_config" spec to reddit and plugins. This spec is parsed at write-time only and the parsed values are stored as JSON in ZooKeeper.