我不是真正的 puppet 专家,现在正在寻找一种“propper puppet”方式来安装一组本地 RPM?
所以,我有一个本地目录,我在其中放置了一些我想安装的 RPM,因此我定义了一个资源来复制一个 rpm 文件并安装它
define package_local(
$source = $name,
$rpmdirpuppet = "puppet:///modules/my_lib/rpmdir",
$rpmdirlocal = "/var/package/"
)
{
file{"${rpmdirlocal}":
path => $rpmdirlocal,
ensure => "directory",
}->
file {"${rpmdirlocal}/${source}":
source => "${rpmdirpuppet}/${source}",
path => "${rpmdirlocal}/${source}",
}->
package {"${rpmdirlocal}/${source}":
provider => "rpm",
source => "${rpmdirlocal}/${source}",
require => File["${rpmdirlocal}/${source}"],
}
}
现在我想“迭代”目录中的所有 RPM 并一次性复制/安装它们。我可以在 hiera 中定义所有文件,并使用 create_resources 来“遍历”它们。但是因为无论如何我的 rpm-dir 中只有 rpm,我想我真的不需要自己命名所有文件。所以,我想知道复制和安装 my_lib/{files}/rpmdir 中的所有 rpm 的最佳方法是什么?
干杯并感谢您的想法,托马斯