Managing Hierarchical Configuration

Whether you're doing DevOps,Machine Learning or Web development, chances are you maintain configuration in the form of heirachical formats such as JSON, YAML, XML..etc

A key design goal for many hierarchical information formats is to strike a good balance between machine readability (parsing) and human readability. Unfotunately no matter how human readable these formats are, they quickly become a challenge to deal with once the structure of the information becomes complex. Editing complex JSON or YAML files is a challenge.

Solvent configuration management features provides a number of features to make managing complex hierarchical information easier.

Powerful Templating

In addition to the challenge of dealing with complex hierarchical information expressed in the aforementioned formats, there is also the problem with these formats being static. In other words you can only statically specify information in JSON or YAML without a default ability to generate dynamic/programmable values.

New templating languages such as jsonnet,ksonnet,hocon..etc have been developed to handle this challenge with various strengths and weaknesses.

Solvent configuration is based on the construction and execution of an object graph, this gives it incredible power when it comes to templating. Information can come from a full templating language, from a piece of code in any of the languages the Solvent platform supports, from a database or from user supplied parameters.

Object Graphs

Solvent configuration is based on an object graph technology which allows a user to construct object graphs of any complexity or composition.

Solvent's configuration management can be used for everything from DevOps, ML, product catalogs, taxonomy creation...etc

Solvent's configuration management isn't just an object graph but the object graphs can be integrated directly into applications. For instance a developer can use an object graph representing a product catalog to populate an e-commerce site.

Because the construction of Solvent object graphs isn't based on any particular syntax, non-technical users can work side-by-side technical people, allowing all parties to contribute to the creation of products/services on a single platform.