This commit is contained in:
gwen 2024-01-23 10:57:01 +01:00
parent f1a8f61347
commit 184a101575

View file

@ -15,7 +15,7 @@ What is a consistency handling system ?
Tiramisu Tiramisu
|Tiramisu| is a consistency handling system that was initially designed |Tiramisu| is a consistency handling system that has initially been designed
in the configuration management scope. To put it more simply, in the configuration management scope. To put it more simply,
this library is generally used to handle configuration options. this library is generally used to handle configuration options.
@ -44,16 +44,16 @@ The dictionaries
.. image:: images/schema.png .. image:: images/schema.png
The main advantage is that declaring variables and writing consistency is a simple The main advantage is that declaring variables and writing consistency is as simple
as writing YAML. It is not necessary to write :term:`Tiramisu` code. as writing YAML. With Rougail it is not necessary to write :term:`Tiramisu` code any more.
It simplifies a lot of things. It simplifies a lot of things.
And rather than writing :term:`Tiramisu` code, we can declare variables and describe the relationships between variables in a declarative mode. And rather than writing :term:`Tiramisu` code, we can declare variables and describe the relationships between variables in a declarative mode (that is, in a YAML file).
Once the dictionaries are loaded by Rougail, we find all the power of the :term:`Tiramisu` configuration management tool. Once the dictionaries are loaded by Rougail, we find all the power of the :term:`Tiramisu` configuration management tool.
The dictionaries YAML format The YAML dictionaries format
--------------------------------- -----------------------------
Before getting started with Rougail we need to learn the specifics of the YAML dictionaries file format (as well as some templating concepts). Before getting started with Rougail we need to learn the specifics of the YAML dictionaries file format (as well as some templating concepts).
@ -78,14 +78,13 @@ The variables
variable variable
Here is a second definition of a :term:`variable`: it is a declaration unit that represents a business domain metaphor, Here is a second definition of a :term:`variable`: it is a declaration unit that represents a business domain metaphor,
the most common example is that a variable that represents a configuration option
the most common example is that a variable represents a configuration option
in a application, but a variable represents something more that a configuration option. in a application, but a variable represents something more that a configuration option.
It provides a business domain specific representation unit. It provides a business domain specific representation unit.
.. note:: dictionaries can just define a list of variables, but we will see that .. note:: Dictionaries can just define a list of variables, but we will see that
we can specify a lot more. We can define variables **and** their relations, we can specify a lot more. We can define variables **and** their relations,
and the consistency between them. **and** the consistency between them.
In the next step, we will explain through a tutorial how to construct a list of variables. In the next step, we will explain through a tutorial how to construct a list of variables.
@ -176,7 +175,7 @@ Let's continuing on our "Hello world" theme and add a :term:`family` container.
description: Somebody to say hello description: Somebody to say hello
default: rougail default: rougail
Here, we have a family named `world`. Here, we have a family named `world`.
This family contains a variable named `name` This family contains a variable named `name`
Again, let's validate this YAML file against Rougail's API: Again, let's validate this YAML file against Rougail's API:
@ -188,5 +187,5 @@ Again, let's validate this YAML file against Rougail's API:
We then have the output: We then have the output:
.. code-block:: python .. code-block:: python
{'rougail.world.name': 'rougail'} {'rougail.world.name': 'rougail'}