Automation 如何在top.sls文件的saltstack支柱函数声明中使用星号(*)?
我是saltstack自动化新手,想知道是否有办法在saltstack支柱函数声明中使用星号(*)。让我向你解释所有的细节 我的prod环境支柱是Automation 如何在top.sls文件的saltstack支柱函数声明中使用星号(*)?,automation,salt-stack,Automation,Salt Stack,我是saltstack自动化新手,想知道是否有办法在saltstack支柱函数声明中使用星号(*)。让我向你解释所有的细节 我的prod环境支柱是 ====== # grep -i pillar_root -A3 /etc/salt/master pillar_roots: prod: - /srv/pillar ====== 我在/srv/pillar目录中有top.sls文件,该文件的内容如下所示 ====== # cat /srv/pillar/top.sls prod:
======
# 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条目。您可以创建一个user/init.sls文件,该文件在其目录中明确包含其余的用户文件。然后,您需要在top.sls文件中执行的所有操作包括:
prod:
'*':
- user
你不能使用你想要的语法 您可以使用jinja来剥离并列出该目录中的任何文件。可能看起来像这样:
/srv/pillar/top.sls的内容
:
{% user_pillars = salt['cmd.run']('ls /srv/pillar/user*').split() %}
prod:
'*':
{% for dir in user_pillars %}
- {{ dir }}
{% endfor %}
我还没有测试过这段代码,但应该已经接近了