Я хочу использовать Vagrant для развертывания ряда ящиков с солью.
Я просмотрел все доступные варианты соли Vagrant, доступные в salty-vagrant (теперь встроенные), и я не вижу ни одного, что позволило бы мне указать, какую «среду» использовать, как указано в salt.sls
dev:
'webserver*dev*':
- webserver
'db*dev*':
- db
qa:
'webserver*qa*':
- webserver
'db*qa*':
- db
Я хочу иметь один и тот же солевой каталог для всех моих типов машин и использовать разные файлы Vagrant (или даже параметры для vagrant), чтобы определить, создаю ли я блок разработчика, блок qa, блок db и т. Д.
Есть ли способ передать эту информацию от Vagrant к соли?
Самый простой способ передать информацию миньону в Vagrant - это файл минона. Ты можешь определить зерна в файле миньонов, но также ID минона.
Я сам установил набор ящиков Vagrant, используя следующий подход. Вот несколько выдержек:
# top.sls (excerpt)
base:
'webserver*':
- webserver
'db*':
- db
В этом примере webserver*
и db*
записи - это имена хостов. Я обнаружил, что Vagrant очень поздно устанавливает имя хоста (по крайней мере, когда я это пробовал), поэтому я передал файл minon с жестко закодированным именем minon в vagrant:
# Vagrantfile (excerpt)
config.vm.synced_folder "salt/roots/", "/srv/"
config.vm.provision :salt do |salt|
salt.minion_config = "salt/minion"
salt.run_highstate = true
end
И файл миньонов:
# minion (excerpt)
id: webservertest
Вы также можете определить информацию о зерне в файле миньонов.
Надеюсь, это поможет.
Бр, Александр.