如何从 GitHub 安装 puppet 模块?

如何从 GitHub 安装 puppet 模块?

我已经安装了camptocamp/nagios来自 Puppet Forge,但似乎它依赖于puppet-apache_c2c该版本已发布在 GitHub 上。

我已经按照建议安装了 nagios 模块:

puppet module install camptocamp-nagios

但是我该如何安装缺少的依赖项?

我见过一些JIRA 票证这将提供该功能,但似乎尚未实现(状态:准备进行工程设计)。那么现在有什么解决方法吗?安装非 puppet-forge 模块的正确方法是什么?

答案1

我个人不使用r10k或类似的东西。
归根结底,puppet 模块只是模块文件夹中的一个目录。
如果您使用 git 来管理模块,您可以将其添加为子模块, 像这样:

cd modules
git submodule add https://github.com/camptocamp/puppet-apache_c2c.git apache_c2c

当然,这不会解决任何依赖关系。
您必须metadata.json自己检查并安装它们。
这对我来说没问题,因为我们不经常添加模块。

答案2

使用图书管理员傀儡

gem install librarian-puppet

检查modulepathPuppet Master:

puppet config print modulepath --section master

这将为您提供例如/etc/puppet/environments/production/modules

然后创建Puppetfile路径上方一个级别modulepath。即/etc/puppet/environments/production/Puppetfile

forge 'https://forgeapi.puppetlabs.com'

mod 'camptocamp-nagios', :git => 'https://github.com/camptocamp/puppet-nagios.git'

librarian-puppet install从所在的文件夹运行Puppetfile

.librarian/puppet/config可以指定模块安装的自定义路径(相对于Puppetfile):

LIBRARIAN_PUPPET_PATH: environments/production/modules

相关内容