Я хотел бы настроить Vagrant на использование моего текущего мастера Puppet в качестве инициатора. Но мне не нравится идея встраивать пару ключей SSL в .box
файл.
В настоящее время я распространяю файлы ключей ca.pem, public, private и cert для агента Puppet с файлом Vagrant и использую этот сценарий оболочки для загрузки агента Puppet:
$puppet_ssl = <<SCRIPT
sudo mkdir -p /var/lib/puppet/ssl/{certs,private_keys,public_keys}
sudo chown puppet /var/lib/puppet/ssl/{certs,private_keys,public_keys}
sudo cp /vagrant/puppet/certs/appdev.mydomain.com.pem /vagrant/puppet/certs/ca.pem /var/lib/puppet/ssl/certs/
sudo cp /vagrant/puppet/private_keys/appdev.mydomain.com.pem /var/lib/puppet/ssl/private_keys/
sudo cp /vagrant/puppet/public_keys/appdev.mydomain.com.pem /var/lib/puppet/ssl/public_keys/
SCRIPT
Кажется, это работает нормально если у разработчика есть файлы, и все находится в правильных каталогах.
Мой вопрос: есть ли лучший способ распространять произвольные файлы, которые необходимо предварительно загрузить на виртуальную машину Vagrant, не встраивая их в .box
файл?
Самый простой способ приблизиться к этому, вероятно, - настроить ваш Vagrantfile
настроить синхронизированную папку на /var/lib/puppet/ssl
и загрузите ключи из локального каталога проекта Vagrant. Документация здесь:
http://docs.vagrantup.com/v2/synced-folders/basic_usage.html
Кроме того, автоподпись Puppet может решить проблему достаточно хорошо для ваших нужд.