1 ==================================
2 `Tiramisu` - Getting Started
3 ==================================
5 What is Configuration handling ?
6 =================================
8 Due to more and more available configuration options required to set up
9 an operating system, it became quite annoying to hand the necessary
10 options to where they are actually used and even more annoying to add
11 new options. To circumvent these problems the configuration management
17 Tiramisu is yet another configuration handler, wich aims at producing
18 flexible and fast configuration options access. The main advantages are
19 its access :ref:`glossary#rules` and the fact that the configuration 's
20 consistency is preserved at any time, see :ref:`glossary#consistency`.
22 There are type and structures's validations for configuration options,
23 and validations towards the whole configuration.
25 Last but not least, configuration options can be reached and changed
26 according to the access rules from nearly everywhere in the OS boxes,
27 e.g. the containers via the `http/json` server.
37 To obtain a copy of the sources, check it out from the repository using
38 `git`. We suggest using `git` if one wants to access the current development.
42 git clone git://git.labs.libre-entreprise.org/tiramisu.git
44 This will get you a fresh checkout of the code repository in a local
45 directory named ``tiramisu``.
47 Understanding Tiramisu's architecture
48 --------------------------------------
50 The :ref:`glossary#schema` is loaded from an XML file, and the values of
51 the configuration options are recovered from a `.ini` like file.
53 By now, all the in-depth informations about the configuration are stored
54 in a **single** object, the :api:`config.Config()` object, wich is
55 responsible of nearly everything. All the necessary options are stored
56 into a configuration object, which is available nearly everywhere, so
57 that adding new options becomes trivial.
59 This `Config()` is available from everywhere with the help of an http server
60 that serves configuration datas as `json` strings.
62 .. figure:: architecture.png
64 The basics of Tiramisu's architecture.
65 Once loaded, http server serves the :api:`config.Config()` object, that is,
66 the configuration options and the configuration groups.