我在使用file_roots
时有点困惑。目前,我们以以下方式设置盐目录。
srv/salt/<folder-connected-to-git>
:包含我们想要使用的所有文件夹,例如win(repo/repo-ng),/脚本/状态等...用于我们的盐。但是它没有我们的二进制文件夹(持有程序的安装程序)。
主配置文件使用以下内容:
file_roots:
base:
- /srv/salt/<folder-connected-to-git>
因此,在设置SLS软件包安装程序时,我们将使用salt://
指向基本文件夹。由于二进制文件夹在该路径之外(在/srv/salt
中),因此我给出了绝对路径(即/srv/salt/binaries
)。看来,在运行它时,盐并没有将这条路径识别为绝对路径(也许它在小兵上寻找它)。
是否有一种方法可以指向基础外部目录。如果没有,我可以将file_roots
更改为:
file_roots:
base:
- /srv/salt/
prod:
- /srv/salt/<git-folder>
但是,盐会在 /srv/salt/
内而不是 /srv/salt/<git-folder>
中寻找回购(缓存到奴才)吗?我可以在不更改file_roots
的情况下更改salt://
的指向吗?
构建的文件服务器与salt '*' cp.get_file
或salt '*' cp.get_dir
一起使用。要与file_roots
一起使用,您可能需要为二进制文件创建一个单独的环境。
我不确定是否要这样使用。特别是file_roots
环境。但是我最近了解到,使环境变得尽可能灵活,以使您能够将它们用于可能需要的任何东西。
您可能想查看GITFS-它允许您 mount git存储库中的状态树。这将使环境不必要。我们将这种方法用于公式。
我们目前使用一个专用网络和一个网络服务器解决此问题,该网络可用于该网络内部的所有奴才。这很好,因为我们所有的奴才都连接到了这个私人网络。运行这样的网络会迫使您关注该网络内部的奴才和硕士学位的通信。我们在所有连接的小兵上使用本地防火墙来实现这一目标。