我想添加一些通用支柱数据的angular色,但也提供了一种方法来定制每台机器的主机名(minion id)。
在我的支柱/ top.sls文件中
base: '*': - pkgs/common-ubuntu-pkg - fail2ban/config 'runit:True': - runit/package 'is_virtual:True': - users/vmuser 'role:database': - match: grain - mysql/defaults
然后我想添加这样的东西:
{% for host in pillar %} '{{host}}': include: - {{host}}/passwords {% endfor %}
哪个工作,但只打印出“主”。 我正在使用无盐的ssh,所以我相信这就是为什么名单中的奴才不在柱子里的原因。 我想要一个不同的方式来循环定义的小兵,但我似乎无法轻松地看到盐词典中的内容。
{% for key in salt %} '{{key}}': include: - foobar {% endfor %}
尝试使用类似上面的结果在一个KeyError中进行debugging
这个解决scheme并不是使用jinja在pillar.top文件中,而是使用一个外部的柱子插件。
外部支柱插件“file_tree”位于目录主机和节点组的root_dir下。 将minion_ids与root_dir / hosts /下的目录相匹配,它会将所有的.sls文件作为支柱数据添加到该主机/小盘。
#in /etc/salt/master ext_pillar: - file_tree: root_dir: /srv/salt/my-pillars/ follow_dir_links: False raw_data: False #on disk /srv/salt/my-pillars/hosts/mydbserver/passwords.sls