我对使用file_roots
感到有点困惑。目前我们按以下方式设置salt目录。
srv/salt/<folder-connected-to-git>
:包含我们想要使用的所有文件夹,例如win(repo / repo-ng),/ scripts / states等...用于我们的salt构建。但它没有我们的二进制文件夹(保存程序的安装程序)。
主配置文件使用以下内容:
file_roots:
base:
- /srv/salt/<folder-connected-to-git>
因此,在设置SLS包安装程序时,我们将使用salt://
指向基本文件夹。由于二进制文件夹位于该路径之外(在/srv/salt
中),因此我给出了绝对路径(即/srv/salt/binaries
)。似乎在运行它时,salt不会将此路径识别为绝对路径(可能是它在minion上寻找它)。
有没有办法指向基地之外的目录。如果没有,我可以将file_roots
更改为:
file_roots:
base:
- /srv/salt/
prod:
- /srv/salt/<git-folder>
但是,盐会在/srv/salt/
而不是/srv/salt/<git-folder>
内寻找repo(缓存到minion)吗?我可以更改salt://
指向的内容而不更改file_roots
吗?
答案 0 :(得分:0)
built in fileserver与salt '*' cp.get_file
或salt '*' cp.get_dir
一起使用。要将其与file_roots
一起使用,您可能需要为二进制文件创建单独的环境。
我不确定,是否打算像这样使用。特别是file_roots
环境。但我最近了解到,环境尽可能灵活,使您能够将它们用于您可能需要的任何环境。
您可能需要查看gitfs - 它允许您将 git存储库安装到状态树中。这将使环境变得不必要。我们将这种方法用于公式。
我们目前通过专用网络和网络服务器来解决这个问题,该网络服务器可以为该网络内的所有小兵提供更大的文件。这很有效,因为我们所有的小兵都连接到这个私人网络。运行这样的网络迫使您密切关注在该网络内部保护爪牙和主人的通信。我们在所有连接的小兵身上使用本地防火墙来实现这一目标。