我已经从Puppet Forge安装了camptocamp / nagios ,但似乎它依赖于在GitHub上发布的puppet-apache_c2c 。
我已经按照build议安装了nagios模块:
puppet module install camptocamp-nagios
但是,我如何安装缺less的依赖关系?
我已经看到了一些JIRA门票可以提供这个function,但是看起来它还没有实现(状态:准备工程)。 所以现在有什么解决方法吗? 安装非傀儡锻造模块的正确方法是什么?
我个人不使用r10k或类似的东西。
在一天结束时,puppet模块只是您的模块文件夹中的一个目录。
如果你正在使用git来pipe理你的模块,你可以将它作为一个子模块来添加,如下所示:
cd modules git submodule add https://github.com/camptocamp/puppet-apache_c2c.git apache_c2c
当然,这不是做任何依赖关系的解决scheme。
你将不得不自己检查metadata.json并安装它们。
这对我的情况是可以的,我们不经常添加模块。
使用图书pipe理员 – 傀儡 :
gem install librarian-puppet
在Puppet master上检查modulepath :
puppet config print modulepath --section master
这会给你例如/etc/puppet/environments/production/modules 。
然后在pathmodulepathpath的上一级创buildmodulepath 。 即/etc/puppet/environments/production/Puppetfile :
forge 'https://forgeapi.puppetlabs.com' mod 'camptocamp-nagios', :git => 'https://github.com/camptocamp/puppet-nagios.git'
并从Puppetfile所在的文件夹运行librarian-puppet install 。
在.librarian/puppet/config您可以指定模块安装的自定义path(相对于Puppetfile ):
LIBRARIAN_PUPPET_PATH: environments/production/modules