通过puppet更改configuration文件 – 取决于主机名

我想推动一些configuration文件到我的所有服务器由puppet。 所有服务器的文件几乎相同,但有一个更改 – 主机名。

我已经用puppet和temp-conf-file在puppet中创build了模块。 我包含到所有节点。 一切皆好。

我的问题是:如何将该文件推送到所有服务器,并更改该文件中的一行/两行。 但我不想在所有的模块中设置configuration文件。 我想使用一个文件,并在两边推动改变。

谢谢你的帮助。

最好,

拉法尔

我会使用一个模板。 将您的文件资源设置为使用内容而不是源:

content => template("mymodule/temp-conf-file.erb"), 

然后让模板replace主机名。 该模板将位于您的模块的模板子目录中:

 # This file is managed by puppet ... random config stuff ... hostname = <%= hostname %> 

你也可以使用fqdn或其他的东西。

http://docs.puppetlabs.com/guides/templating.html