我应该将部署设置保存在单独的存储库中吗?

我正在学习Salt Stack,将我的Python应用程序部署到AWS上的各个生产阶段。 现在我把所有的源代码和盐状态放在一个大的仓库中。

在使用我的源代码保留minion状态文件时是否有任何实际或安全考虑? 或者我应该把它们分开,为什么?

如果我将我的状态文件移动到一个单独的盐状态回购,我应该在哪里保留我的masterminionconfiguration文件,或者不属于版本控制

皮特,

所以有一些事情要把你的configuration和代码放在一起。 假设你使用git进行部署,这意味着你所有的代码和configuration文件都被发送到每个服务器。 如果你的git没有设置为只读,那么进入你的机器之一的人可以用一个小的exploit来编辑configuration,这将帮助他们访问你所有的机器。

我知道那些在那里放置ssh密钥的人可以很容易地启动一个新的盐服务器或木偶或者他们使用的东西。 同样,将应用程序和configuration都部署到每个服务器的问题将意味着您再次将关键字放到了王国,这取决于您的操作是否拉动您的所有服务器,同时还有ssh密钥。

我已经安装了部署系统,我使用只读的git用户来部署代码,并保持我的configuration远离我的所有服务器,只给每个服务器所需的configuration文件。 每个服务器都有唯一的git帐户的私钥。 我也一直在设置,每一次部署我自动将我的所有服务器的公钥。