Skip to content

Commit

Permalink
doc: rewrite stripped docs
Browse files Browse the repository at this point in the history
  • Loading branch information
RomanValov committed Aug 28, 2019
1 parent b270732 commit 572a7d4
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 13 deletions.
8 changes: 6 additions & 2 deletions doc/releases/release-0.4.4.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ Libraries interaction: merging

# ram which hostname apply*
/usr/lib/ram/hostname/apply
/path/to/ram/unit/apply.collectd
/opt/my-appliance/lib/ram/hostname/apply.collectd
# ram tweak trace on
# ram apply hostname
: /usr/lib/ram/hostname/apply = 0
: /path/to/ram/unit/apply.collectd = 0
: /opt/my-appliance/lib/ram/hostname/apply.collectd = 0

На данный момент в фреймворке не реализовано какого-либо гарантированного разрешения конфликтов для файлов с одинаковым именем.

Expand All @@ -102,6 +102,10 @@ Libraries interaction: probing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Иногда может возникнуть необходимость использовать библиотеку юнитов изначально расчитанную на применение в иной конфигурации.
Например, юнит конфигурации прокси (``proxywiz``) изначально разработан для конфигурации двух различных демонов -- ``daemos`` и ``phobos``.
При этом ``daemos`` конфигурируется основными скриптами юнита, а ``phobos`` тегированными.
При необходимости переиспользовать этот юнит в системе без ``daemos`` фреймворк будет генерировать ошибки и
не позволит сконфигурировать присутствующий в системе ``phobos``. Для решения этой проблемы реализован механизм пробинга.

С точки зрения разработчика интерфейс механизма заключается в добавлении соответствующего файла ``probe`` или ``probe.<daemon>``.
Файл должен быть исполняемым. В его задачи входит определение наличия того или иного демона в системе.
Expand Down
8 changes: 4 additions & 4 deletions doc/services/files.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@ Usage
.. sourcecode:: console

# ram files sslcert
/etc/pki/tls/certs/product.crt
/etc/pki/tls/private/product.key
/etc/pki/tls/certs/my-appliance.crt
/etc/pki/tls/private/my-appliance.key

При использовании python-интерфейса вызов сервиса возвращает список, элементами которого являются полные пути файлов:

.. sourcecode:: pycon

>>> import ram
>>> print ram.files('sslcert')
['/etc/pki/tls/certs/product.crt', '/etc/pki/tls/private/product.key']
['/etc/pki/tls/certs/my-appliance.crt', '/etc/pki/tls/private/my-appliance.key']


Interface
Expand All @@ -38,7 +38,7 @@ Interface
# cat `ram which smtpwiz files`
/etc/pki/tls/certs/smtpd.crt
/etc/pki/tls/private/smtpd.key
/path/to/product/cert/*.pem
/var/opt/my-appliance/cert/*.pem

See also
Expand Down
40 changes: 38 additions & 2 deletions doc/services/probe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ Usage

.. sourcecode:: console

# ram probe unitname
# ram probe proxywiz

При использовании python-интерфейса можно указать название конкретной порции для проверки:

.. sourcecode:: pycon

>>> import ram
>>> ram.probe('unitname', using='portion_name')
>>> ram.probe('proxywiz', using='phobos')

Interface
---------
Expand All @@ -35,6 +35,42 @@ Interface

Для каждой порции скриптов в составе конфигурационного юнита может быть определен свой скрипт ``probe``.

Например, в состав конфигурационного юнита ``proxywiz`` добавлена порция скриптов для демона ``phobos``.
Порция состоит из скриптов: ``probe``, ``store``, ``apply``:

.. sourcecode:: console

# ram which proxywiz
/opt/my-appliance/lib/ram/proxywiz/apply.phobos
/opt/my-appliance/lib/ram/proxywiz/about
/opt/my-appliance/lib/ram/proxywiz/param
/opt/my-appliance/lib/ram/proxywiz/store.phobos
/opt/my-appliance/lib/ram/proxywiz/input
/opt/my-appliance/lib/ram/proxywiz/query
/opt/my-appliance/lib/ram/proxywiz/store
/opt/my-appliance/lib/ram/proxywiz/probe.phobos

Так, при вызове сервиса ``store`` фреймворк будет последовательно вызывать скрипты ``store`` и ``store.phobos``.
Однако, последний будет вызван, только если предварительный вызов скрипта ``probe.phobos`` завершится успешно.

.. sourcecode:: console

# ram tweak trace on
# ram store proxywiz
: /opt/my-appliance/lib/ram/proxywiz/store = 0
: /opt/my-appliance/lib/ram/proxywiz/probe.phobos = 0
: /opt/my-appliance/lib/ram/proxywiz/store.phobos = 0

В случае неуспешного запуска скрипта ``probe.phobos``, вызова соотвествующего скрипта ``store.phobos`` не произойдет.
При этом вызов команды ``ram store`` завершится успешно:

.. sourcecode:: console

# ram tweak trace on
# ram store proxywiz
: /opt/my-appliance/lib/ram/proxywiz/store = 0
: /opt/my-appliance/lib/ram/proxywiz/probe.phobos = 1


See also
--------
Expand Down
10 changes: 5 additions & 5 deletions doc/services/which.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Usage

# ram which hostname
/usr/lib/ram/hostname/about
/path/to/the/unit/apply.collectd
/opt/my-appliance/lib/ram/hostname/apply.collectd
/usr/lib/ram/hostname/param
/usr/lib/ram/hostname/query
/usr/lib/ram/hostname/apply
Expand All @@ -41,11 +41,11 @@ Usage

# ram which hostname a*
/usr/lib/ram/hostname/apply
/path/to/the/unit/apply.collectd
/opt/my-appliance/lib/ram/hostname/apply.collectd
/usr/lib/ram/hostname/about
# ram which hostname a* i* o*
/usr/lib/ram/hostname/apply
/path/to/the/unit/apply.collectd
/opt/my-appliance/lib/ram/hostname/apply.collectd
/usr/lib/ram/hostname/about
/usr/lib/ram/hostname/input

Expand All @@ -60,15 +60,15 @@ Usage
>>> pprint.pprint(ram.which('hostname'))
{'about': '/usr/lib/ram/hostname/about',
'apply': '/usr/lib/ram/hostname/apply',
'apply.collectd': '/path/to/the/unit/apply.collectd',
'apply.collectd': '/opt/my-appliance/lib/ram/hostname/apply.collectd',
'input': '/usr/lib/ram/hostname/input',
'param': '/usr/lib/ram/hostname/param',
'query': '/usr/lib/ram/hostname/query',
'store': '/usr/lib/ram/hostname/store'}
>>> pprint.pprint(ram.which('hostname', 'a*', 'i*', 'o*'))
{'about': '/usr/lib/ram/hostname/about',
'apply': '/usr/lib/ram/hostname/apply',
'apply.collectd': '/path/to/the/unit/apply.collectd',
'apply.collectd': '/opt/my-appliance/lib/ram/hostname/apply.collectd',
'input': '/usr/lib/ram/hostname/input'}


Expand Down

0 comments on commit 572a7d4

Please sign in to comment.