68 lines
2.3 KiB
Text
68 lines
2.3 KiB
Text
|
==================================
|
||
|
`Tiramisu` - Getting Started
|
||
|
==================================
|
||
|
|
||
|
What is Configuration handling ?
|
||
|
=================================
|
||
|
|
||
|
Due to more and more available configuration options required to set up
|
||
|
an operating system, it became quite annoying to hand the necessary
|
||
|
options to where they are actually used and even more annoying to add
|
||
|
new options. To circumvent these problems the configuration management
|
||
|
was introduced.
|
||
|
|
||
|
What is Tiramisu ?
|
||
|
===================
|
||
|
|
||
|
Tiramisu is yet another configuration handler, wich aims at producing
|
||
|
flexible and fast configuration options access. The main advantages are
|
||
|
its access :ref:`glossary#rules` and the fact that the configuration 's
|
||
|
consistency is preserved at any time, see :ref:`glossary#consistency`.
|
||
|
|
||
|
There are type and structures's validations for configuration options,
|
||
|
and validations towards the whole configuration.
|
||
|
|
||
|
Last but not least, configuration options can be reached and changed
|
||
|
according to the access rules from nearly everywhere in the OS boxes,
|
||
|
e.g. the containers via the `http/json` server.
|
||
|
|
||
|
Just the facts
|
||
|
==============
|
||
|
|
||
|
.. _gettingtiramisu:
|
||
|
|
||
|
Download
|
||
|
---------
|
||
|
|
||
|
To obtain a copy of the sources, check it out from the repository using
|
||
|
`git`. We suggest using `git` if one wants to access the current development.
|
||
|
|
||
|
::
|
||
|
|
||
|
git clone git://git.labs.libre-entreprise.org/tiramisu.git
|
||
|
|
||
|
This will get you a fresh checkout of the code repository in a local
|
||
|
directory named ``tiramisu``.
|
||
|
|
||
|
Understanding Tiramisu's architecture
|
||
|
--------------------------------------
|
||
|
|
||
|
The :ref:`glossary#schema` is loaded from an XML file, and the values of
|
||
|
the configuration options are recovered from a `.ini` like file.
|
||
|
|
||
|
By now, all the in-depth informations about the configuration are stored
|
||
|
in a **single** object, the :api:`config.Config()` object, wich is
|
||
|
responsible of nearly everything. All the necessary options are stored
|
||
|
into a configuration object, which is available nearly everywhere, so
|
||
|
that adding new options becomes trivial.
|
||
|
|
||
|
This `Config()` is available from everywhere with the help of an http server
|
||
|
that serves configuration datas as `json` strings.
|
||
|
|
||
|
.. figure:: architecture.png
|
||
|
|
||
|
The basics of Tiramisu's architecture.
|
||
|
Once loaded, http server serves the :api:`config.Config()` object, that is,
|
||
|
the configuration options and the configuration groups.
|
||
|
|