vagrant + chef / puppet / salt的开发环境:如何处理用户特定的凭据(例如github)?

时间:2015-05-16 11:32:09

标签: vagrant chef puppet chef-recipe vagrantfile

我想与vagrant和朋友一起创建一个开发环境,以简化新开发人员的入职流程。找到了一些很棒的教程。

我不明白的是如何处理用户特定的东西。例如,在Chef(或Puppet或Salt)设置中,我想要检出存储库(来自github)。由于它们是私有的,我需要知道用户凭据。同样适用于npm login,也可能是其他东西。

有哪些方法可以处理用户特定的登录?

1 个答案:

答案 0 :(得分:1)

vagrant傀儡实现中的一个可扩展点是能够将自定义事实注入puppet运行中。请参阅Vagrantfile Puppet Apply文档中的“自定义事实”部分。

这就留下了如何将这些事实提供给Vagrantfile的问题。一种方法是在项目目录中创建一个包含用户特定设置的文件(yaml,json等),并将其读入Vagrantfile(毕竟,它只是ruby)。确保将用户特定的设置文件添加到源代码管理的忽略列表中。我从来没有尝试过这个插件,但nugrant看起来很像这个。

上面有一个令人讨厌的副作用,就是将你的密码存放在硬盘上,让团队中的任何人都知道。如果这是不可接受的,您还可以让Vagrant在命令行上提示用户输入密码并使用输入的值。不需要在主机上存储密码,但每次使用vagrant时都需要重新输入密码。