答案1
要生成用户列表,您需要创建一个新的事实. 任何来自从将要配置的主机需要是事实。
例如,以下事实返回整个/etc/passwd
:
# etcpasswd.rb
Facter.add("etcpasswd") do
setcode do
File.read('/etc/passwd')
end
end
您可以将这个事实放在lib/facter
模块的子目录中,或者放在plugins/facter
Puppet 的基本目录中。我认为您也需要pluginsync = true
,puppet.conf
但这可能仅适用于较旧的 Puppet 版本。
您可以在我的网站上看到此示例puppet 用户模块。
答案2
我对 Puppet 还比较陌生,所以我不确定这是否可行,但我认为不可行。
您是否考虑过简单地将模板和脚本复制到每个框上的单个位置。然后设置一个exec
资源,以便每当 git 模板更新时,它都会运行该脚本。该脚本将循环/home
将文件复制到适当的位置。