Графы
Графы являются описаниями автоматизаций в системе Атом.Порт. Согласно им выполняются задачи конфигурирования удалённых компьютеров и сохраняется некоторая информация о них.
Документ разъясняет принятый синтаксис сериализации графов версии 2.
6. Специальные файлы
💾 Актуально для версии Атом.Порт: 63ef9982
Назначение специальных файлов
Специальные файлы связаны с файлами графов сементикой и могут иметь схожий синтаксис, однако описывают дополнительные сущности, не включенные в формат графов. Далее описываются такие специальные файлы.
Файл настроек
settings.yaml
Файл может храниться и загружаться вместе с сериализованными графами (см. комманду graph_files_load) в постоянное хранилище системы и содержит настройки, которые могут быть получены при помощи спецификации setting:group.name.
Файл содержит единственный двухуровневый словарь settings. Ключи являются произвольными строками и означают раздел настроек. Значения в свою очередь являются словарями с произвольными строковыми ключами и скалярными значениями.
Пример:
settings: generic: domain: localdomain max_users: 200 migrate: yes department1: domain: dep1-domain department2: domain: dep2-domain
Статические узлы static_nodes.yaml
Файл статических узлов может загружаться и выгружаться вмест с файлами графов (см. комманды graph_files_load, graph_files_dump). Синтаксис файла полностью аналогичен словарю edges графа (описания узлов находятся сразу на верхнем уровне). Узлы, заргуженные из файла статических узлов не привязаны к какому-либо графу и могут использоваться в любых графах без явного описания путём указания их названий в качестве начальных и конечных узлов дуг.
Пример описания узла в файле статических узлов:
reboot_and_wait:
description: Перезагрузить рабочую станцию и дождаться ответа
unit_type: Runner
unit_data:
kwargs:
mods: _orch.reboot_minion
timeout: 900
function: state.orchestrate
minion_type: active
retry_limit: 3
Пример использования статического узла в графе:
---
name: graph_reboot_and_wait
description: Перезагрузить рабочую станцию и дождаться её ответа
edges:
- start -> reboot_and_wait
- reboot_and_wait -> end