我在puppet清单中定义了一个配置文件,我需要使用.erb模板,以便加载动态参数。
然而问题是应用程序坚持在木偶运行之前更改该文件中的几行。这些行不容易被发现并放入模板中(例如,增加的构建号)。如果我告诉puppet在配置文件更改时刷新服务,那么每次木偶运行都会重新启动我的服务,这是不好的。
有什么方法可以将.erb模板与Puppet一起使用,但是告诉它不关心它中的特定行是否会发生变化?我不确定这是否可行,或者即使它可以工作,但是知道它会很好。
干杯
答案 0 :(得分:3)
您可以使用stdlib模块中的file_line
资源或augeas
镜头来指示puppet在配置文件中需要哪些行。这些行将被傀儡管理,其余文件将保持不变。
答案 1 :(得分:2)
如果你不喜欢file_line
或augeas
(一个是黑客攻击而另一个很难弄明白),你可能需要创建一个custom fact来通知文件当前状态的主人。然后,主人可以应用逻辑来仅在必要时更新该内容。
当然,这比上述方法更直观或更易于维护。