Welcome to Central Dogma

Central Dogma is an open-source highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. With Central Dogma, you can:

  • Store your configuration files such as .json, .yaml and .xml into a centralized, multi-master replicated, version-controlled repository.

  • Retrieve your configuration using RESTful API, Java library and command-line client.

  • Let your servers get notified immediately when the configuration files are updated and the new settings are applied without server restarts.

  • Send a pull request for configuration changes and get it reviewed and merged by teammates; much less chance of making a bad configuration change!

Want a quick tour?

Check out the introductory slides:

Give it a try!

Download now and give it a try (Java required):

$ tar zxvf centraldogma-0.40.1.tgz
$ cd centraldogma-0.40.1/
$ bin/startup
<Open http://127.0.0.1:36462/ in your browser for administrative console.>

Using Docker? Launch our image at Docker Hub:

$ docker run -p 36462:36462 line/centraldogma

Repository service for textual configuration

  • Primarily designed for storing JSON

    • Also supports any text formats such as YAML, XML, INI and even JavaScript

  • Store your start-time and run-time settings, such as:

    • Application parameters and bean properties

    • User and IP blacklists

    • Scheduled maintenance notice

    • Roll-out and A/B experiment parameters

    • Rule engine scripts

Highly-available

Version-controlled

  • Keeps full history of configuration changes in Git repositories.

  • Can hold a lot more information than in-memory competitors.

Query and notification mechanism

  • Query your JSON files with JSON path.

  • Watch your files and get notified immediately when they are modified.

Fine-grained access control

Automated mirroring from an external Git repository

  • Keep your settings in a GitHub or GitLab repository.

  • Send a pull request to modify the settings and get it reviewed and merged.

  • Let Central Dogma mirror your settings so they are:

    • Highly-available

    • Queryable

    • Watchable

    • Access-controlled