情况:我们有多个盐配方,其中某些柱配置选项在我们的环境中是相同的。例如,它们为上游服务使用相同的URL。我们希望避免在多个支柱位置重复这些值(我们需要一个单一的事实点),但我们不想以共享支柱键的方式编写公式(正交性对灵魂有益)。
在我看来,执行此操作的正确方法是使用一个具有“共享”值的支柱文件,并将其从那里导入到特定于公式的支柱文件中的适当位置。例如:
# pillar/shared.sls
upstream: https://example.com/youarehere
# pillar/formula1.sls
{%- from shared import upstream %}
formula1:
upstream_uri: {{ upstream }}
# pillar/formula2.sls
{%- from shared import upstream %}
formula2:
upstream_url: {{ upstream }}
# and so on...
当然,这不能按书面规定进行。正确的方法是什么?
最佳答案
试试这个:
支柱/shared.sls
upstream: https://example.com/youarehere
支柱/formula1.sls
{% import_yaml "shared.sls" as defaults %}
formula1:
upstream_uri: {{ defaults.upstream }}
支柱/formula2.sls
{% import_yaml "shared.sls" as defaults %}
formula2:
upstream_url: {{ defaults.upstream }}
关于salt-stack - 如何从另一个支柱文件中导入数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32748964/