我有几台由 Saltstack 管理的计算机,用于生产和开发。
这些 PC 是我们的内部服务器,使用 Saltstack 的目的是 (1) 备份设置,以便在出现故障时快速重新应用它们 (2) 快速设置新 PC 以防出现故障。所有情况都不会经常发生,服务器总数少于 10 台。
Salt 的稳定状态存储在专用 git 存储库的 master 分支的 gitfs 中。
有时我需要添加新功能并开始开发新状态。目前我直接提交给 master 并且我的提交经常因为错误而破坏现有的配置。
我想在单独的 git 分支中提交我正在进行的工作并使用类似的东西
$ sudo salt minion state.apply my-new-state saltenv=feature/branch
但是,我收到有关缺少环境的错误:
~$ sudo salt minion state.show_sls ups saltenv=feature/ups
minion:
- No matching salt environment for environment 'feature/ups' found
- No matching sls found for 'ups' in env 'feature/ups'
我的配置/etc/salt/master
:
gitfs_saltenv_whitelist:
- base
- feature\/*
gitfs_remotes:
- git@gitlab.local.corp:ci-formula.git
我在 serverfault.com 上看到过类似的问题,尝试了使用 dynamic 提出的解决方案{{saltenv}}
。它没有帮助