Puppet:不管理模板中的单行

时间:2014-08-25 01:15:19

标签: puppet

我在puppet清单中定义了一个配置文件,我需要使用.erb模板,以便加载动态参数。

然而问题是应用程序坚持在木偶运行之前更改该文件中的几行。这些行不容易被发现并放入模板中(例如,增加的构建号)。如果我告诉puppet在配置文件更改时刷新服务,那么每次木偶运行都会重新启动我的服务,这是不好的。

有什么方法可以将.erb模板与Puppet一起使用,但是告诉它不关心它中的特定行是否会发生变化?我不确定这是否可行,或者即使它可以工作,但是知道它会很好。

干杯

2 个答案:

答案 0 :(得分:3)

您可以使用stdlib模块中的file_line资源或augeas镜头来指示puppet在配置文件中需要哪些行。这些行将被傀儡管理,其余文件将保持不变。

答案 1 :(得分:2)

如果你不喜欢file_lineaugeas(一个是黑客攻击而另一个很难弄明白),你可能需要创建一个custom fact来通知文件当前状态的主人。然后,主人可以应用逻辑来仅在必要时更新该内容。

当然,这比上述方法更直观或更易于维护。