Я изучаю соль.
Я понимаю, что, как все работает, файлы состояния должны быть помещены в корневой каталог, статически указанный в конфигурации master / minion.
Итак, мой вопрос: есть ли способ выполнить произвольный файл sls в файловой системе, то есть не в настроенных корнях файлов?
Цель этого заключается в том, что я хочу, чтобы мои проекты включали файлы sls, описывающие требуемое состояние системы, в которой они будут развернуты, и в идеале я бы не хотел копировать / связывать эти файлы в корень солевого файла.
Спасибо!
Нет, соль ищет файлы состояния в file_roots
. Вы указываете ему, какие sls выполнять, давая ему имя, разделенное точкой, например salt '*' state.apply my.state
какая соль будет искать в /srv/salt/my/state.sls
или /srv/salt/my/state/init.sls
по умолчанию.
Файлы должны присутствовать на мастере соли (если вы не используете миньон в без хозяина Режим).
Оказывается, я могу делать то, что хочу, несколькими способами: 1. с помощью state.template
функцию, я могу указать путь к файлу шаблона sls для выполнения 2. В режиме без мастера, используя salt-call
с участием --file-root
и --pillar-root
аргументов, я могу установить корень файла и корень столба в любой каталог (но тогда он должен следовать структуре корневого каталога файла / столба и иметь файл top.sls, если я не использую state.sls
).