有一些目录路径,如 /etc/opt/mysoft,其内容对于每个 minion 应该是不同的。
因此,对于 minion A,它包含带有部分内容的 config.ini,而对于 minion B,它包含带有不同内容的 config.ini 以及额外的文件 img.png。
我有什么选择?我可以从 /srv/salt/{minon-something-here}/ 目录复制文件吗?我可以将一些 minion 标识符映射到 svnfs、gitfs 或 hgfs 中的分支吗?
答案1
- source: salt://mysoft/files/{{ grains['id'] }}
在任何状态下使用file
(例如file.managed
或file.recurse
),然后将主机特定文件放入/srv/salt/mysoft/files/{minion-id}/
。您还可以使用不同的粒度,例如grains['fqdn']
和 适当更改路径。
例子:
/etc/opt/mysoft:
file.recurse:
- source: salt://mysoft/files/{{ grains['id'] }}
master 上针对 id 为 的 minions 的文件foo
如下bar
:
/srv/salt/mysoft/files/foo/config.ini
/srv/salt/mysoft/files/foo/img.png
/srv/salt/mysoft/files/bar/config.ini
/srv/salt/mysoft/files/bar/img.png