我想通过salt-api将文件放在salt-master上。我已经使用rest cherrypy配置了salt-api并为它配置了自定义挂钩。我想探索一下用例,我们可以先将文件传输给salt-master,然后再将它传递给minions。我能够实现第二部分,但无法将数据文件发布到API。
答案 0 :(得分:0)
以下是使用file.write执行模块执行此操作的一种方法。
首先登录并将令牌保存到cookie文件中(我必须将eauth更改为ldap,由于某种原因自动没有工作):
curl -sSk http://localhost:8000/login \
-c ~/cookies.txt \
-H 'Accept: application/x-yaml' \
-d username=USERNAME\
-d password=PASSWORD \
-d eauth=auto
现在运行一个作业来在salt-master上创建一个文件(假设你的salt-master也在运行一个salt-minion):
curl -sSk http://localhost:8000 \
-b ~/cookies.txt \
-H 'Accept: application/x-yaml' \
-d client=local \
-d tgt='saltmaster' \
-d fun=file.write \
-d arg='/tmp/somefile.txt' \
-d arg='This is some example text
with newlines
A
B
C'
请注意,命令中使用的间距将影响线条在文件中的显示方式,上面的示例给出了最美观的结果。