Принципы написания формулы
Формула — это обычный каталог, который именуется согласно шаблону: <top_level_dir>-formula.
Каталог обязательно содержит подкаталог <top_level_dir>, имя которого совпадает с именем формулы, и файлы:
-
обязательные:
-
<top_level_dir>/init.sls— главный файл с состояниями формулы; может включать в себя другие файлы с расширением.slsчерез директивуinclude; -
<top_level_dir>/clean.sls— файл отката состояний формулы; -
pillar.example— файл с примером указания параметров формулы; -
FORMULA— описание формулы в формате YAML;
-
-
не обязательные:
-
docs/README.RST— файл с описанием способов применения формулы и входящих в нее состояний; -
<top_level_dir>/any.sls— другие файлы с расширением.sls, содержащие состояния, которые включены вinit.slsилиclean.slsдирективойinclude; -
<top_level_dir>/<any_dir>— другие подкаталоги, содержащие файлы с расширением.sls, которые включены вinit.slsилиclean.slsдирективойinclude; -
<top_level_dir>/map.jinja— файл, который описывает особенности конфигурации под конкретную ОС или другие статические конфигурации.
-
Файл FORMULA включает атрибуты формулы:
-
name— имя формулы; -
os— ОС, поддерживающие формулу; -
os_family— семейства ОС, поддерживающие формулу; -
version— версия пакета с формулой, указанная в формате YYYYMM; если в месяце было несколько выпусков (release), то минорный месячный выпуск проставляется в атрибутеrelease; -
release— выпуск версии; атрибут расширяет версионность формулы, если в месяце было несколько выпусков; -
summary— краткое описание формулы; -
description— подробное описание формулы; -
top_level_dir— имя подкаталога, где расположены файлы с расширением.sls.
SLS-файлы формулы составлены в синтаксисе YAML и содержат описания состояний, которые достигает система при применении формулы.
Имена SLS-файлов, а также имена каталогов, не могут содержать точки, кроме точки между именем и расширением .sls.
Могут включать строчные прописные латинские символы, цифры от 0 до 9, символ - (минус) и символ _ (подчеркивание)
и соотвтетствовать маске [a-zA-z0-9-_]+.
Каждому состоянию присваивается уникальный идентификатор в рамках продукта.