我是Saltstack自动化的新手,并且想知道是否有办法在saltstack支柱函数声明中使用星号(*)。让我向您解释所有细节。
我的生产环境的支柱根源是
======
# grep -i pillar_root -A3 /etc/salt/master
pillar_roots:
prod:
- /srv/pillar
======
我在/ srv / pillar目录中有top.sls文件,下面给出了该文件的内容。
======
# cat /srv/pillar/top.sls
prod:
'*':
- user.avatar_user
- user.avatar_sudo_user
======
我将在/ srv / pillar / user /目录中添加* .sls文件。但是,如果有这样的方式,请告诉我
======
prod:
'*':
- user.*
======
因此,我不需要在top.sls中添加相应的sls条目。
答案 0 :(得分:1)
您可以创建一个user / init.sls文件,该文件显式包含其目录中的其余用户文件。然后你需要在top.sls文件中做的就是包括:
prod:
'*':
- user
答案 1 :(得分:0)
您无法使用您想要的语法。
您可以使用jinja shell并列出该目录中的所有文件。这可能看起来像这样:
/srv/pillar/top.sls
的内容:
{% user_pillars = salt['cmd.run']('ls /srv/pillar/user*').split() %}
prod:
'*':
{% for dir in user_pillars %}
- {{ dir }}
{% endfor %}
我还没有测试过这个确切的代码,但它应该接近这一点。