在 Vagrant VM 中导入 Puppet 预生成的 SSL 密钥对的好方法?

在 Vagrant VM 中导入 Puppet 预生成的 SSL 密钥对的好方法?

我想设置 Vagrant 以使用我当前的 Puppet Master 作为配置器。但我不喜欢将 SSL 密钥对嵌入文件中的想法.box

我目前正在做的是使用 Vagrant 文件为 Puppet 代理分发 ca.pem、公钥、私钥和证书密钥文件,并使用这个 shell 脚本来引导 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 VM 上的任意文件,而无需将它们嵌入到文件中.box

答案1

解决此问题的最简单方法可能是配置您的Vagrantfile以在上设置同步文件夹/var/lib/puppet/ssl,并从本地 Vagrant 项目目录中加载密钥。文档在这里:

http://docs.vagrantup.com/v2/synced-folders/basic_usage.html

或者,Puppet 自动签名也许能很好地解决问题,满足您的需求。

相关内容