SaltStack:如何实现自定义 Jinja Filter?

SaltStack:如何实现自定义 Jinja Filter?

我想扩展 SaltStack 中可用的 jinja 过滤器

我想创建一个名为rpm_to_debian_name

{ package-name | rpm_to_debian_name }

我只找到有关盐特定过滤器的文档:https://docs.saltstack.com/en/carbon/topics/jinja/index.html#filters

如何扩展这些过滤器?

顺便说一句:实现这个过滤器是不是这个问题的一部分。这是一个简单的python,很容易实现。问题是如何使其可用,将代码放在哪里?

答案1

Jinja 是 Salt 支持的几种渲染器之一。渲染器代码从这里开始: https://github.com/saltstack/salt/blob/develop/salt/renderers/jinja.py

但看起来您可以在此处添加过滤器:

https://github.com/saltstack/salt/blob/a875b9074207108233e96f9e35e630b75ce21cd8/salt/utils/templates.py#L347

我不确定 Salt 的代码库之外是否有地方可以插入它。我希望这会有所帮助!

相关内容