如何为 Puppet 配置相对路径?

如何为 Puppet 配置相对路径?

我尝试过用谷歌搜索,但没有任何结果。我的目标是有一个包含 puppet 文件的打包目录和一个包含文件资源的附带目录,我只需在其中键入内容puppet apply setup.pp,然后 puppet 就会执行其操作。

我知道 puppet 推荐的工作流程是创建模块并将文件资源放在那里以供复制。这对我来说太不方便了,因为我不想在那里安装我的模块;我只想随身携带这个小包(即 pp 文件和文件资源)。

如果我不想使用绝对路径,如何配置我的 pp 文件以查看我的同级目录?我是否可以操纵其他环境变量来强制 puppet 查看“正确的位置”?

我看见这里有一个建议,看起来像是扩展了 Facter,但我只是在寻找一些可以放在我的 pp 文件顶部的东西,如下所示:

$basepath = exec{"/usr/bin/pwd":}

...

file {"/home/$title/.nanorc": source => "${basepath}/resources/.nanorc"}

答案1

Puppet 本质上就是 Ruby。我会尝试使用内联模板功能:

file{"/home/$title/.nanorc":
  content => inline_template("<%= File.read(ENV["PWD"] + '/resources/.nanorc') %>"),
}

相关内容