Существует некоторый путь к каталогу, например / etc / opt / mysoft, содержимое которого должно быть разным для каждого миньона.
Таким образом, для миньона A он содержит config.ini с содержимым, а для миньона B он содержит config.ini с другим содержимым и дополнительно файл img.png.
Какие у меня варианты? Могу ли я копировать файлы из каталога / srv / salt / {minon-something-here} /? Могу ли я сопоставить некоторый идентификатор миньона с ветвью в svnfs, gitfs или hgfs?
Использовать - source: salt://mysoft/files/{{ grains['id'] }}
в любом из file
состояния (например, file.managed
или file.recurse
), затем поместите файлы для конкретного хоста в /srv/salt/mysoft/files/{minion-id}/
. Вы также можете использовать другое зерно, например grains['fqdn']
и соответствующим образом измените путь.
Пример:
/etc/opt/mysoft:
file.recurse:
- source: salt://mysoft/files/{{ grains['id'] }}
Файлы на мастере для миньонов с id foo
и bar
:
/srv/salt/mysoft/files/foo/config.ini
/srv/salt/mysoft/files/foo/img.png
/srv/salt/mysoft/files/bar/config.ini
/srv/salt/mysoft/files/bar/img.png