来自 puppetforge 的模块的 Puppet 包提供商?

来自 puppetforge 的模块的 Puppet 包提供商?

使用 puppet,您可以使用各种“提供程序”在系统上安装“软件包”。 yum、apt、gems 等都有内置提供程序。

是否有“puppet-module”软件包提供商或类似提供商?为了重新使用 puppet 模块 http://forge.puppetlabs.com/,我正在下载发行版,将其解压到我自己的源代码存储库中,并将其添加到我的源代码中。这并不理想 - 我希望能够重复使用模块而无需复制它。

有更好的方法吗?我希望能够使用 puppet 本身在 puppetmaster 上安装和使用 puppet-modules。这将使使用/升级模块更加容易,并允许在更高的抽象级别上工作。

我猜想这可能存在一个先有鸡还是先有蛋的问题——如果我的清单包含尚未安装的资源,puppet 可能难以验证我的清单,但也许可以通过阶段来解决这个问题?

答案1

问题 #11209涵盖了创建它,但看起来 Puppet Labs 目前对此还不确定。也许您的意见会有所帮助?

至于在使用模块之前先安装它们,我以前认为这是不可能的。2.7.8 增加了在运行后期选择提供程序的支持,但我认为它不会扩展到类型。您也无法将模块或清单包含在目录中,因为它已经被编译了。我认为您需要在主服务器上运行 Puppet 两次 - 一次用于引导和安装模块,然后再次运行其真正的/完整的 Puppet。

答案2

据我所知,没有办法在 Puppet 中 100% 地做到这一点,但是有Puppet 模块 (PMT)这可能是个开始。它允许您在命令行上从 puppetforge 搜索和安装模块。

Puppet 实验室刚刚发布了两篇博客文章(第1部分第2部分) 介绍了如何使用它。如果您运行的是 puppet >= 2.7.14,它已经在 puppet 中了。如果不是,您可以从他们的 GitHub 帐户

答案3

作为更新,我在这里发布了一些新选项:

  1. 您可以使用图书管理员傀儡在 Puppet Master 上安装模块
  2. 非常令人期待的是,这个问题在 PuppetConf 2013 上被 Puppet Forge 的一位产品负责人提及。以下是在 YouTube 上讨论。他在回复的最后提到,puppetlabs 正在试验一种资源类型,用于在主机上安装模块。

相关内容