我们正在实施 Puppet,并希望使用文件存储桶来取代内部文件更改跟踪器。文件存储桶的物理布局为散列目录树,主端文件存储桶上缺少“哪个客户端”元数据,这有点困难。
我找到了 puppet 附带的 filebucket 实用程序,以及快速而肮脏的索引配方http://reductivelabs.com/trac/puppet/wiki/Recipes/FileBucket。我明白,将它们用作合理管理界面的构建块并不是什么大问题。但与其重新发明轮子……
有谁有更好的办法吗?
答案1
遗憾的是,目前这个领域还没有一个好的解决方案。社区欢迎您提出任何建议,或者您可以致电 Reductive Labs 并给他们提供一些咨询业务。我前段时间考虑过这样做,但发现它比我有时间解决的要困难一些。
欢迎随时访问 IRC 频道(Freenode 上的 #puppet)——那里有很多真正乐于助人的人,他们会很乐意提供建议/帮助,特别是如果它能带来对 Puppet 生态系统有贡献的工具。
答案2
需要说明的是,此功能目前已在 puppet 2.7 中使用,使用“puppet filebucket”子命令:
puppet filebucket <mode> [-h|--help] [-V|--version] [-d|--debug]
[-v|--verbose] [-l|--local] [-r|--remote] [-s|--server <server>]
[-b|--bucket <directory>] <file> <file> ...
Puppet filebucket can operate in three modes, with only one mode per call:
backup:
Send one or more files to the specified file bucket. Each sent file is
printed with its resulting md5 sum.
get:
Return the text associated with an md5 sum. The text is printed to
stdout, and only one file can be retrieved at a time.
restore:
Given a file path and an md5 sum, store the content associated with
the sum into the specified file path. You can specify an entirely new
path to this argument; you are not restricted to restoring the content
to its original location.
答案3
在 Velocity 2008 大会上,Luke Kanies 提到 Reductive Labs 可能会为文件存储桶开发一个更加用户友好的界面。按照目前的实现方式,查找您感兴趣的更改的 md5 校验和并恢复到该文件的版本相当困难。显然,这是他们的开发路线图,它似乎是客户可能会付费的功能,因此是他们公司的收入来源。(他们正在努力寻找一种支付账单的方法……)