概述
salt默认使用 /srv/salt作为state的文件路径,另外还支持多个路径,或者远程git仓库。
准备工作
GitFS 需要 GitPython 0.3.0 或更新的版本,如果你的系统软件仓库自带的版本不满足需求 (比如 Ubuntu 12.04 LTS),请使用如下方式安装
<pre> pip install GitPython </pre>
开启配置
GitPython成功安装好后,基本配置实例如下,修改配置文件 /etc/salt/master
<pre> fileserver_backend: - git gitfs_remotes: - https://domain.com/salt.git </pre>
测试
<pre>salt \* state.highstate test=True </pre>
其他参考
gitfs_root
上面的例子中远端仓库根目录即为base环境的根目录,如果是base环境对应的是git仓库内的一个子目录,可以使用gitfs_root配置项来指定
<pre> gitfs_root: salt </pre>
或
<pre> gitfs_root: salt/site </pre>
fileserver_backend
fileserver_backend 可以指定多个后端存储方式,比如一个典型的应用场景就是SLS文件存在git仓库中,大的文件存储在master本地
<pre> fileserver_backend: - roots - git </pre>
gitfs_remotes
- gitfs_remotes 支持配置使用仓库内的指定的目录
<pre> gitfs_remotes: - file:///repository.git - root: gitfs_root: somefolder/otherfolder </pre>
- 指定多个仓库
<pre> gitfs_remotes: - git://github.com/example/first.git - https://github.com/example/second.git - file:///root/third </pre>
参考文档
- http://docs.saltstack.com/en/latest/topics/tutorials/gitfs.html
- http://docs.saltstack.com/en/latest/ref/configuration/master.html#std:conf_master-fileserver_backend