Change structure of CCP documentation

- Change `Application definition contribution guide` by adding sections
   with description structure of component repository and links on other
   sections.
 - Make `Application definition contribution guide` upper level doc for
   description of application development.
 - Move DSL description to doc with description of DSL for application
   service.
 - Merge `Understanding globals and defaults config` and `Config Files`
   sections. It's necessary to have all configs related stuff in one
   place.
 - Move description of "Global Config" to separate doc.
 - Move and Merge files with description of config key types.

Change-Id: Icb3fc0a807b3f754f81752ee80702d8e620d1a7b
This commit is contained in:
Sergey Kraynev
2016-12-02 16:23:31 +03:00
parent b21f43005f
commit 9c2923f5a5
6 changed files with 417 additions and 367 deletions

View File

@@ -230,3 +230,37 @@ file
+---------+------------------------------------------------+----------+--------+---------+
| user | | false | string | |
+---------+------------------------------------------------+----------+--------+---------+
DSL versioning
~~~~~~~~~~~~~~
Some changes in CCP framework are backward compatible and some of them are not.
To prevent situations when service definitions are being processed by
incompatible version of CCP framework, DSL versioning has been implemented.
DSL versioning is based on Semantic Versioning model. Version has a format
``MAJOR.MINOR.PATCH`` and is being defined in ``dsl_version`` field of
:file:`fuel_ccp/__init__.py` module. Each service definition contains
``dsl_version`` field with the version of DSL it was implemented/updated for.
During the validation phase of :command:`ccp deploy` those versions will be
compared according to the following rules:
#. if DSL version of ``fuel-ccp`` is less than service's DSL version -
they are incompatible - error will be printed, deployment will be
aborted;
#. if ``MAJOR`` parts of these versions are different - they are incompatible
- error will be printed, deployment will be aborted;
#. otherwise they are compatible and deployment can be continued.
For ``dsl_version`` in ``fuel-ccp`` repository you should increment:
#. MAJOR version when you make incompatible changes in DSL;
#. MINOR version when you make backward-compatible changes in DSL;
#. PATCH version when you make fixes that do not change DSL, but affect
processing flow.
If you made a change in service definition that is not supposed to work with
the current ```dsl_version```, you should bump it to the minimal appropriate
number.