Назад | Перейти на главную страницу

Хороший способ импортировать предварительно сгенерированную пару ключей SSL Puppet в Vagrant VM?

Я хотел бы настроить 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 может решить проблему достаточно хорошо для ваших нужд.