如何解决在 Salt 的 gitfs 中挂载 git 存储库而不搜索状态模块
我正在尝试在我的 salt 文件服务器中安装一个带有服务器配置文件(比如 nginx、mysql 等)的存储库,以便能够将这些文件分发给我的仆从(无需在我所有的仆从)。
如果我理解正确:所有 gitfs_remotes
将被“扁平化”为一个文件系统结构(我可以在运行 salt-run fileserver.file_list
时确认这一点。
让我担心的是,据我所知,这个“仅配置文件”存储库现在也在被 Salt 搜索状态模块。
有没有办法:
- 将 gitfs 挂载指定为“不搜索 SLS 文件”。
- 将实际的 salt 状态存储库(其中包含我的
top.sls
和 state 模块)安装在 salt 文件服务器的子目录下,并将 salt 指向其中的top.sls
?
当然,我对这完全是错误的方法持开放态度,我唯一的要求是服务器配置文件(再次,nginx,mysql 等)位于单独的存储库中,并且整个高状态(状态模块,顶级文件)存在于 git 中。
主配置:
fileserver_backend:
- gitfs
gitfs_remotes:
- git@github.com:MyOrg/salt-configs.git:
- git@github.com:MyOrg/server-config-files.git:
- mountpoint: config-files
解决方法
您是否考虑过将配置文件存储在支柱中?
例如:
HostFiles:
LinuxBasic: |
192.168.1.1 server1
192.168.1.2 server2
然后在您的状态文件中,当您想要呈现主机文件时:
LinuxBasicHostFile:
file.managed:
- name: /etc/hosts
- contents_pillar: {{ HostFiles:LinuxBasic }}
如果文件敏感,您也可以使用 Salt Master 服务器上的密钥 GPG:
$ cat nginx.hostfile | sudo gpg --armor --batch --trust-model always --encrypt --homedir <salthomdir> -r <keyname>
将其输出粘贴到您的支柱中:
HostFiles:
LinuxBasic: |
-----BEGIN PGP MESSAGE-----
Xks383...a bunch of encrypted text...BjAs0
-----END PGP MESSAGE-----
并通知您的 salt 管理员 HostFiles 在您的 master.conf 中包含 GPG 加密内容,或者更好的是,在 /etc/salt/master.d/decrypt.conf 中的本地 conf 文件中:
decrypt_pillar:
- 'HostFiles': gpg
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。