Puppet 包含/需要 Puppet 实验室的模块

Puppet 包含/需要 Puppet 实验室的模块

如何创建“使用” Puppet Forge 上的某个模块的 Puppet 清单?

class foo {
    include puppetlabs-git    (<- this doesn't work)
    #https://forge.puppetlabs.com/puppetlabs/git

    package {'openssl-devel':
     ensure => latest,
    }

    #package {'git':           (<- commented out because it seems like there is a better way using puppet forge)
    # ensure => installed,
    #}


}
class {'foo': }

答案1

您仍然需要先从 Forge 下载该模块:

 puppet module install puppetlabs/git

它会将其放入默认模块路径,但您可以使用 --modulepath 开关覆盖它。

您可以在您提到的 URL 处看到提到的命令...;)

然后,您可以像这样“使用”该模块:

include git

答案2

您需要先安装模块 -puppet module install puppetlabs-git在主机上使用该命令。

一旦完成,你就可以通过以下方式使用该模块include git- 注意,puppetlabs-前缀是特定于 Forge 的约定,并且在安装后不包含在模块名称中。

顺便说一句,该模块基本上只是做package {"git": ensure => installed }你已经拥有的功能;可能不需要为一个资源设置单独的模块。

答案3

使用以下步骤将现有的 puppet 模块与您的 puppet 模块一起使用。

首先安装您想要包含在模块中的 puppet 模块。

例如如果你想将 apache 模块包含在你的 puppet 模块中:

puppet module install puppetlabs/apache 

此后,在您的模块中添加任何类,例如:

class foo {
     include apache
     and rest
     of
     your 
     code....
}

然后确保将模块保存在中/etc/puppetlabs/puppet/modules/,因为默认情况下模块安装在这个目录中。

相关内容