让Puppet清单/模块可供广大读者使用

我们的团队在过去六个月里把木偶推出了我们的系统。 我们正在pipe理各种资源,其中一些有敏感数据(用于自动备份的数据库密码,专用软件的许可证密钥等)。

其他团队希望参与(或至less能够看到)我们的模块和清单的开发。 其他人如何继续通过Puppet获得安全的数据,同时与更多的观众分享模块和体现?

使用Hiera和GPG (您需要Hiera GPG插件)来存储任何明智的(密码等),并在需要时访问它。 这就像木偶(或任何其他需要访问共享的秘密)的钥匙串。

另外检查这个小指南在这里得到一个印象。

Hiera也可以做更多!

我脑海中的诀窍是拥有一个不在普通版本控制系统中的puppet清单文件。 创build一个secrets课程,并将所有隐私信息存储在那里。 另一件事我为自己的目的,以确保每个系统有一个不同的密码,而不必为每个密码存储一个不同的密码是在我的秘密类生成一个单一的随机string,并使用散列结合个人服务价值。 了解服务价值并不能帮助你猜出主要的秘密,而是充当盐。 请参阅使用Puppetpipe理服务密码,了解我是如何做到这一点的,以及其他人如何接近这个想法。

Mediawiki也为他们的数据使用“单一类别的秘密”: http : //blog.wikimedia.org/2011/09/19/ever-wondered-how-the-wikimedia-servers-are-configured/

我们使用github(公共和私人存储库)共享模块并协调开发。 模块在github上单独提交(使用git-subtree从主版本库中分离出来)。

所有的更改都是在github上的用户仓库中进行的,并且经过了pull请求,所有的用户在合并之前都可以对它们发表评论,然后回到puppetmasters。