Как должны быть структурированы файлы состояния соли и конфигурации столбов, чтобы обеспечить плавное развертывание различных ролей миньонов для поэтапных сред, таких как разработчик, qa и производство а также функциональные ветки?
Я расположил свои корневые файлы и файлы состояния столба в отдельном репозитории из исходного кода моего проекта Python:
salt-states/
pillar/
web/
init.sls
production.sls
qa.sls
dev.sls
db/
init.sls
production.sls
qa.sls
dev.sls
top.sls
roots/
web/
init.sls
production.sls
qa.sls
dev.sls
db/
init.sls
production.sls
qa.sls
dev.sls
top.sls
Как должен выглядеть мой файл top.sls, чтобы воспользоваться этой структурой, и как я могу таким образом настроить таргетинг на ветки функций?
Я бы предложил использовать gitfs и git_pillar.
Gitfs позволяет хранить ваши file_roots в репозитории git. Ваша основная ветвь становится вашей «базовой» средой, и каждая ветка и тег также становятся средами.
http://docs.saltstack.com/topics/tutorials/gitfs.html?highlight=gitfs
Git_pillar похож.
http://docs.saltstack.com/ref/pillar/all/salt.pillar.git_pillar.html