在salt状态文件中,我该如何将pillar的内容添加到远程salt-minion上的文件中?
例如,如果我有以下pillar数据:
ssl:
some-domain.com:
key:
-----BEGIN RSA PRIVATE KEY-----
MIICX... snip ...
在远程salt-minion上,我想要有一个文件,如
/etc/nginx/ssl/some-domain.com.key
,它包含了私钥的内容,我该怎么做?如果你告诉我一些洞见并指引我朝正确的方向努力,无论是像“你做错了,笨蛋”这样的答案都可以。我知道salt的file.managed
和file.*
等命令,但我不确定是否有最佳/首选的方式将任意pillar数据添加到远程文件中。
我仍在学习/破解salt,所以我还在使用Yaml + Jinja进行模板编写,如果对你制定适当的答案有影响,请告诉我。
谢谢!
编辑:顺便说一句,当前靠破解的解决方案是:
在我的文件根目录/srv/salt/中创建一个文件,如/srv/salt/ssl/some-domain.com.key
,其中包含类似于{{ salt[pillar.get]('ssl:some-domain.com:key') }}
的内容。
但那听起来太弱了。我正在寻找更好的解决方案。